php 策略模式

<?php
header("content-type:text/html;charset=utf-8");
// ==================php 策略模式 =============================
abstract class baseAgent { //抽象策略类
    abstract function PrintPage();
}
//用于客户端是IE时调用的类(环境角色)
class ieAgent extends baseAgent {
    function PrintPage() {
        echo 'IE';
    }
}
//用于客户端不是IE时调用的类(环境角色)
class otherAgent extends baseAgent {
    function PrintPage() {
        echo 'not IE';
    }
}
class Browser { //具体策略角色
    public function call($object) {
        $object->PrintPage ();
    }
}
$bro = new Browser ();
$bro->call ( new ieAgent () );

你可能感兴趣的:(php 策略模式)