PHP之设计模式—委托模式
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之设计模式—委托模式的详细内容,更多信息请关注OD云其它相关文章!



本文URL:http://www.odweb.cn/news_show.html?id=134