1. 程式人生 > >PHP設計模式-策略模式

PHP設計模式-策略模式

行為 一個 文件 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設計模式-策略模式