目录
- 概述
- 策略模式含义
- 策略模式的三种角色
- 策略模式实现步骤
- 策略模式设计代码实现
- php7进阶到架构师相关阅读
学习目标:
- 掌握策略模式的含义
- 掌握策略模式设计实现
- 举一反三实际开发中应用设计模式
策略模式的三种角色
- 抽象策略角色
- 具体策略角色
- 环境角色(对抽象策略角色的引用)
【php常用设计模式之策略模式】2.定义具体策略类(具体实现父类的共同方法)
3.定义环境角色类(传入抽象角色类,调用抽象策略类方法)
策略模式,生活中的实例:
例如下班回家,我可以有几个策略考虑:我可以骑单车,乘坐公交车,乘地铁等策略
还比如网站开发个人中心页面,
不同的用户类型显示个人主页不一样,这个可以使用策略模式,即针对不同的用户使用不同的策略 。
策略模式设计代码实现
//抽象策略类abstract class BaseUserStratege{abstract public function center();//个人中心}//具体策略普通用户策略class CommonUserStratege extends BaseUserStratege{public function center(){echo 'common user center';}}//具体策略VIP用户策略class VipUserStratege extends BaseUserStratege{public function center(){echo 'vip user center';}}//环境角色,对抽象策略类的引用class UserStrategeContext{private $baseUserStratege = null;public function __construct($baseUserStratege){$this->baseUser = $baseUser;}public function center(){return $this->baseUserStratege->center();}}//根据不同用户类型创建不同的具体决策类,比如vip用户,就创建VipUser策略$user = new VipUserStratege();$userStrategeContext = new UserStrategeContext($user);$userStrategeContext->center();
php7进阶到架构师相关阅读https://www.kancloud.cn/gofor/gofor
推荐阅读
- 细谈8种架构设计模式及其优缺点
- 金丝皇菊怎么存放好,花草茶常用有哪些
- 饮用荷叶茶个月可以减几斤,花草茶常用有哪些
- 淘宝测款常用方法 淘宝测款是什么意思啊
- 玫瑰茄泡水喝的禁忌,常用的花草茶有哪些
- ThinkPhp3漏洞原理分析总结
- 黑客必备常用编程语言整理
- 和黄金样珍贵的金菊花贡菊,常用的花草茶有哪些
- 吃迷迭香的注意事项,常用的花草茶有哪些
- PHP usort 函数底层排序