PHP实现的策略模式示例
本文实例讲述了PHP实现的策略模式。分享给大家供大家参考,具体如下:
个人觉得设计模式只有在实际应用中才能够慢慢的去熟悉,到最后做到心中有模式,事事有模式,哈哈
例如:一个电商首页,可以根据登陆用户的性别不同显示不同的内容,比如广告和商品类别。
传统方法:在程序内部使用多个if,else进行判断,这样很难维护,比如我想要再加入一个人妖用户!那么我就要在程序中再加入elseif判断,这样写出来的程序看起来很乱,而且不易维护。
策略模式:实现的思想是这样的,创建一个接口,对于每个类别的用户创建一个类,分别去实现接口中的方法,在首页进行判断实例化哪个类。
代码如下:
接口文件UserStrategy.php
男性用户的具体显示MaleUserStrategy.php
女性用户的具体显示FemaleUserStrategy.php
重点来了,创建首页文件Strategy.php
_strategy->showAd(); echo'
'; echo'Category:'; echo$this->_strategy->showCategory(); } //创建不同的策略 publicfunctionsetStrategy($strategy) { $this->_strategy=$strategy; } } //实例化对象 $strategy=newStrategy(); //如果$_GET['female']存在的话就显示女性用户的广告和类别--如果需要添加其它策略的时候只需要在这里加入判断条件就可以了,当然了还需要创建相应策略的类并且一定要去继承接口哦 if(isset($_GET['female'])) { $people=newFemaleUserStrategy(); } else { $people=newMaleUserStrategy(); } //把对象传入到策略类里 $strategy=setStrategy($people); //显示广告和类别--因为使用了策略模式,当我们需要新增加一个策略的时候这里就不需要修改了。 $strategy->index(); ?>
自动引入文件Config.php
告诫自己在以后的编程中多去考虑,熟能生巧。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。