**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'); 操作取款类 ~~~