• 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 电子产品

          地址栏传入female,输出:2014新款女装 女装

  • 相关阅读:
    nyoj 95 众数问题(set)
    nyoj 93 汉诺塔(三)(stack)
    hdu 1010 Tempter of the Bone
    nyoj 55 懒省事的小明(priority_queue优先队列)
    nyoj 31 5个数求最值
    poj 1256 Anagram
    next_permutation函数
    nyoj 19 擅长排列的小明(深搜,next_permutation)
    nyoj 8 一种排序(用vector,sort,不用set)
    nyoj 5 Binary String Matching(string)
  • 原文地址:https://www.cnblogs.com/helloJiu/p/6159571.html
Copyright © 2020-2023  润新知