**1、什么是委托模式?**
通过分配或委托至其他对象,委托设计模式能够去除核心对象中的判决和复杂的功能性
**2、应用场景:**
银行存款,取款,转账操作类
**3、实例:**
~~~
/**
* 银行相关操作类
*/
class brank{
protected $Info=array();
/**
* 传入参数,设置基本信息
* @param string $type 类型
* @param int $money 参数值
* @return 如:设置银行存款类型 updateBrankInfo('RMB','0.4%') // 类型:人民币,利率:0.4%
*/
public function updateBrankInfo($type,$money){
$this->Info[$type]=$money;
}
/*
* 运行委托模式
* @param string $branktype 操作类型
* @param int $money 操作金额数
* @return class
*/
public function brankWithdraw($branktype){
$obj=new $branktype;
return $obj->brankMain($this->Info);
}
}
~~~
~~~
/**
* 银行存款操作类
*/
class brankDeposit{
public function brankMain($data){
return $data['brankDeposit'];
}
}
~~~
~~~
/**
* 银行取款操作类
*/
class brankWithdraw{
public function brankMain($data){
//$data['brankWithdraw'] //这个值是在实例化后就设置好的
return $data['brankWithdraw'];
}
}
~~~
~~~
/**
* 存取款委托设计模式类
* -------------通过 brankWithdraw()方法 分配指定的操作类对象
* -------------通过 updateBrankInfo()方法 设置相关参数。如:存取款金额,存取款类型,利率等等
* @var unknown_type
*/
$brank=new brank();
$brank->updateBrankInfo('credit','积分名称');
$brank->updateBrankInfo('brankDeposit', $money);//类型:存款 金额:$money
/////////////////////////////////////////////////////////////
$brankreturn=$brank->brankWithdraw('brankDeposit');//操作存款类
/////////////////////////////////////////////////////////////
$brankreturn=$brank->brankWithdraw('brankDeposit'); 操作取款类
~~~
- 前言
- PHP生成对象之设计模式—单例模式
- PHP生成对象之设计模式—工厂方法模式
- PHP之设计模式—适配器模式
- PHP之设计模式—建造者模式(通过选择mysql,mongo数据库链接类型做说明)
- PHP之设计模式—委托模式
- PHP面向对象学习一:对象基础实践
- PHP面向对象学习之二:深入了解面向对象高级特性
- PHP面向对象学习之三:抽象类和接口类的实际作用
- PHP解决问题进化论(整理笔记)
- PHP7新特性整理介绍篇
- php-fpm 与 Nginx优化总结
- Centos+Nginx+PHP7.0编译安装(和PHP5.6老版本共存)
- PHP7:Mongodb API使用
- PHP之include/require深入了解
- PHP内核了解:生命周期及运行模式