//文件名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策略模式之简单使用
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 练习:使用装饰器优化一等函数实现策略 我们可以实现: 商品点单 使用“策略”模式实现折扣,并利用装饰器Promo ...
- 最近看同事的代码时候,学到了个小技巧,在某些场景下非常挺有用的,这里分享一下给大家。 Spring 中 @Auto...
- 策略模式 策略模式: 定义一组算法,将每一个算法封装到具有共同接口的独立类中,从而使得各个算法之间可以相互替换策略...