//文件名CelueService.php
//定义接口,衣服下有裤子、鞋子
interface Yifu
{
public function kuzi();
public function xiezi();
}
//淘宝裤子、鞋子
class Taobao implements Yifu
{
public function kuzi()
{
echo "toabao---kuzi";
}
public function xiezi()
{
echo "taobao---xiezi";
}
}
//京东裤子、鞋子
class Jingdong implements Yifu
{
public function kuzi()
{
echo "jingdong---kuzi";
}
public function xiezi()
{
echo "jingdong---xiezi";
}
}
class CelueService
{
private $obj;
//方式1:
public function __construct(Yifu $yifu)
{
$this->obj = $yifu;
}
// //方式2
// public function __construct($method)
// {
// $temp = new \ReflectionClass($method);
// $this->obj = $temp->newInstance();
// }
public function total_kuzi()
{
$this->obj->kuzi();
}
public function total_xiezi()
{
$this->obj->xiezi();
}
}
$obj = new CelueService(new Taobao());//需要京东就传new Jingdong()
$obj->total_xiezi();
PHP策略模式之简单使用
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 练习:使用装饰器优化一等函数实现策略 我们可以实现: 商品点单 使用“策略”模式实现折扣,并利用装饰器Promo ...
- 最近看同事的代码时候,学到了个小技巧,在某些场景下非常挺有用的,这里分享一下给大家。 Spring 中 @Auto...
- 策略模式 策略模式: 定义一组算法,将每一个算法封装到具有共同接口的独立类中,从而使得各个算法之间可以相互替换策略...