首页 > 代码库 > PHP设计模式-策略模式

PHP设计模式-策略模式

<?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设计模式-策略模式