• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP设计模式之委托模式定义与用法简单示例

    本文实例讲述了PHP设计模式之委托模式定义与用法。分享给大家供大家参考,具体如下:

    委托模式:

    通过分配或委托至其他对象,委托设计模式能够去除核心对象中的判决和复杂的功能性。

    class Bank{
      protected $info;
      /*
      设置基本信息
      @param string $type 类型。例如"RMB"
      @param int $money 利率。例如"0.4%"
      */
      public function updateBrankInfo($type,$money){
        $this->info[$type]=$money;
      }
      /*
      相关操作(包括存款、取款操作)
      @param int $branktype 操作类型
      */
      public function brankWithdraw($branktype){
        $obj=new $branktype;
        return $obj->brankMain($this->info);
      }
    }
    /*
    委托接口
    */
    interface Delegate{
      /*
      操作方法:
      实现该接口必须实现的方法
      */
      public function brankMain($info);
    }
    /*
    存款操作类
    */
    class brankDeposit implements Delegate{
      /*
      存款操作
      */
      public function brankMain($info){
        echo $info['deposit'];
      }
    } 
    /*
    取款操作类
    */
    class brankWithdraw implements Delegate{
      /*
      取款操作
      */
      public function brankMain($info){
        echo $info['withdraw'];
      }
    }
    /*
    客户端测试代码:
    */
    $bank=new Bank();
    $bank->updateBrankInfo("deposit","4000");
    $bank->updateBrankInfo("withdraw","2000");
    $bank->brankWithdraw("brankDeposit");
    echo "br>";
    $bank->brankWithdraw("brankWithdraw");
    
    

    运行结果:

    4000
    2000

    传统方式:

    在传统方式下,我们需要判断当前操作是取款操作还是存款操作,在分别调用Bank类中的取款操作和存款操作。

    委托模式:

    在委托模式下,我们将不需要客户端的判断操作,对客户端来说,需要什么操作,直接传入操作类型即可,Bank类可自动判断操作类型,返回相应操作的操作结果。当我们的操作类型非常多的时候,在客户端用if else判断无疑是很可怕的,再假如我们在很多地方都要有这块判断代码,我们需要对这些地方的判断代码都进行修改(加入后来添加的判断),而采用委托模式,我们仅仅需要在新添加的地方添加相应需要的类型即可,不需要改动其它地方的客户端代码(很大程度上提高了代码的复用性)。

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • php魔术函数__call()用法实例分析
    • PHP魔术方法之__call与__callStatic使用方法
    • php数据库操作model类(使用__call方法)
    • php设计模式 Delegation(委托模式)
    • php设计模式之委托模式
    • PHP常用设计模式之委托设计模式
    • 用PHP的反射实现委托模式的讲解
    • PHP __call()方法实现委托示例
    上一篇:PHP设计模式之建造者模式定义与用法简单示例
    下一篇:php+croppic.js实现剪切上传图片功能
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP设计模式之委托模式定义与用法简单示例 PHP,设计模式,之,委托,模式,