PHP设计模式笔记五:策略模式 -- Rango韩老师 http://www.imooc.com/learn/236
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP设计模式笔记五:策略模式 -- Rango韩老师 http://www.imooc.com/learn/236相关的知识,希望对你有一定的参考价值。
策略模式
1、概述:策略模式,将一组特定的行为和算法封装成类,以适应某些特定的上下文环境,这种模式称为策略模式
例如:一个恶电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有广告位展示不同的广告
传统的是使用条件分支进行判断,代码不灵活
使用策略模式,要先定义一个约束行为的接口,I_UserStrategy
定义两种策略,男性male和女性female策略类,分别实现了I_UserStrategy.
MaleUserStrategy.php
FemaleUserStrategy.php
定义一个展示类Page.php,Page里定义一个属性,用来保存使用的具体策略,
通过Page->setStrategy(UserStrategy $strategy)传入具体策略,将策略保存在page类的属性里,通过index()方法进行展示,
在index.php中
定义Page类时并不需要定义某种策略,执行时再定义,并且传入具体策略,实现依赖倒置和控制反转,消除依赖,解除耦合。
output:没有设置参数是输出:小新700 \\n 电子产品
地址栏传入female,输出:2014新款女装 \\n 女装
以上是关于PHP设计模式笔记五:策略模式 -- Rango韩老师 http://www.imooc.com/learn/236的主要内容,如果未能解决你的问题,请参考以下文章
PHP设计模式笔记四:适配器模式 -- Rango韩老师 http://www.imooc.com/learn/236
PHP设计模式笔记一:准备工作 -- Rango韩老师 http://www.imooc.com/learn/236
PHP设计模式笔记七:观察者模式 -- Rango韩老师 http://www.imooc.com/learn/236
PHP设计模式笔记三:三种基本设计模式(工厂模式单例模式注册树模式) -- Rango韩老师 http://www.imooc.com/learn/236