PHP設計模式-策略模式
阿新 • • 發佈:2017-06-14
行為 一個 文件 ech 策略 something protected this cte
<?php
//策略模式
//將一組特定的算法或行為 封裝成一個類,以適應上下文環境
//策略的接口文件 約定策略的行為 針對一種情況 產生具體的策略
interface Policy
{
function showAd();
}
class Female implements Policy
{
public function showAd()
{
echo __CLASS__.‘ policy‘;
}
}
class Male implements Policy
{
public function showAd()
{
echo __CLASS__.‘ policy‘;
}
}
//環境類 將具體的算法分離開
class Env
{
protected $obj=null;
public function __construct(Policy $obj)
{
$this->obj=$obj;
}
public function doSomeThing()
{
$this->obj->showAd();
}
}
$a = new Env(new Male());
$a->doSomeThing();
PHP設計模式-策略模式