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 女装

 

转载于:https://www.cnblogs.com/helloJiu/p/6159571.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值