• php设计模式--策略模式


        策略模式就是将特定的行为封装成一个类,来适应特定的用户某些特定的情况。例如:在面向过程的开发中总是使用if...else.....这种属于硬编码的形式,当有些条件在修改的时候我们还要去调整if  else的程序 。现在就来搞一搞策略模式。

    <?php
    interface UserStrategy
    {
        function showad();
        function showcat();
    }
    
    
    class Man implements UserStrategy
    {
        function showad()
        {
            echo 'macbook';
        }
    
        function showcat()
        {
            echo 'mac_dev';
        }
    }
    
    class Woman implements UserStrategy
    {
        function showad()
        {
            echo 'woman_ad';
        }
        function showcat()
        {
            echo 'woman_cat';
        }
    }
    
    
    class pick
    {
    	private $_act;
    	function pickecho()
    	{
    		$this->_act->showcat();
    		$this->_act->showad();
    	}
    	function setact($Strategy)
    	{
    		$this->_act = $Strategy;
    	}
    }
    
    
    $pickclass = new pick();
    //针对woman
    $pickclass->setact(new Woman());
    $pickclass->pickecho();
    echo "<br/>";
    //针对man
    $pickclass->setact(new Man());
    $pickclass->pickecho();
    

      

    总结:

    1.在代码中需要变化的地方,把它们独立出来,不要和那些不需要变化的代码混在一起;

    2.针对接口编程,不针对实现编程;

    3.多用组合,少用继承;

    4.使用策略模式完成依赖倒置,属于解耦的过程;

  • 相关阅读:
    svn 常用控制台命令解析
    android studio Activity标题栏研究
    android 音频播放总结 soundlPool,MediaPlay
    android studio 将library导出为jar 亲测成功
    android 控件自定义样式
    android studio 程序错误
    android 界面布局
    jdk 多版本安装 for mac
    android 控件ui
    homebrew for mac
  • 原文地址:https://www.cnblogs.com/phpworld/p/7490588.html
Copyright © 2020-2023  润新知