怎么在PHP中实现一个策略模式-创新互联

这篇文章给大家介绍怎么在PHP中实现一个策略模式,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

成都网站制作、成都网站建设介绍好的网站是理念、设计和技术的结合。创新互联建站拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。

传统方法:在程序内部使用多个if,else进行判断,这样很难维护,比如我想要再加入一个人妖用户!那么我就要在程序中再加入else if判断,这样写出来的程序看起来很乱,而且不易维护。


策略模式:实现的思想是这样的,创建一个接口,对于每个类别的用户创建一个类,分别去实现接口中的方法,在首页进行判断实例化哪个类。

代码如下:

接口文件UserStrategy.php

男性用户的具体显示MaleUserStrategy.php

女性用户的具体显示FemaleUserStrategy.php

重点来了,创建首页文件Strategy.php

_strategy->showAd();
    echo '
';     echo 'Category:';     echo $this->_strategy->showCategory();   }   //创建不同的策略   public function setStrategy($strategy)   {     $this->_strategy = $strategy;   } } //实例化对象 $strategy = new Strategy(); //如果$_GET['female']存在的话就显示女性用户的广告和类别--如果需要添加其它策略的时候只需要在这里加入判断条件就可以了,当然了还需要创建相应策略的类并且一定要去继承接口哦 if(isset($_GET['female'])) {   $people = new FemaleUserStrategy(); } else {   $people = new MaleUserStrategy(); } //把对象传入到策略类里 $strategy = setStrategy($people); //显示广告和类别--因为使用了策略模式,当我们需要新增加一个策略的时候这里就不需要修改了。 $strategy->index(); ?>

自动引入文件Config.php

关于怎么在PHP中实现一个策略模式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


当前名称:怎么在PHP中实现一个策略模式-创新互联
URL链接:http://hbruida.cn/article/dpcdip.html