php 设计模式(策略模式)
2017-06-29 02:24
567 查看
/** * 策略模式是将一组特定的行为和算法封装成类,以适应某些特定的上下文环境,这就是策略模式 */ /** * 电商类网站,针对男生和女生要跳到不同的商品类目,并且所有广告位展示不同的广告 * 代码中会出现if男生 if女生...硬编码 当需求改变时所有代码都需要改变,这种情况就需要使用 策略模式因为策略模式 * 跟上下文的环境是中立的没有依赖,实现解耦,策略模式可以实现IOC,依赖倒置控制反转 */ interface UserStrategy{ public function showAD(); public function showCategory(); } //添加男性策略 class UserMan implements UserStrategy{ public function showAD(){ echo '男士新装'; } public function showCategory(){ echo '男士目录'; } } //添加女士策略 class UserWman implements UserStrategy{ public function showAD(){ echo '女士新装'; } public function showCategory(){ echo '女士目录'; } } //使用 class Page{ protected $strategy; public function show(){ $this->strategy->showAD(); $this->strategy->showCategory(); } public function getCategory(UserStrategy $strategy){ $this->strategy = $strategy; } } $page = new Page(); if(isset($_GET['nvsheng'])){ $strategy = new UserWman(); } else { $strategy = new UserMan(); } //当需求改变时只需要添加一个策略,在获得策略实例之前 创建新策略的实例即可(实现了解耦) $page->getCategory($strategy); $page->show();
相关文章推荐
- php设计模式-策略模式
- PHP设计模式之策略模式
- PHP设计模式——策略模式
- PHP设计模式系列 - 策略模式
- php设计模式之策略模式
- PHP设计模式:策略模式
- 5. php设计模式:策略模式的实际应用
- php 设计模式-策略模式
- PHP设计模式-策略模式
- PHP设计模式之策略模式
- 设计模式入门-策略模式(php版)
- PHP设计模式之策略模式
- php设计模式之策略模式
- PHP设计模式系列 - 策略模式
- php常用设计模式(策略模式/单例模式/工厂模式)
- 学习php设计模式 php实现策略模式(strategy)
- php设计模式 Strategy(策略模式)
- PHP设计模式:策略模式
- php设计模式--策略模式
- PHP设计模式9-策略模式