通過分配或委託至其他對象,委託設計模式能夠去除核心對象中的判決和複雜的功能性
<?php
class brank{
protected $info = array();
public function updateBrankinfo($type, $money)
{
$this->info[$type]=$money;
}
//運行委託模式 操作類型 操作金額
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){
return $data['brankWithdraw'];
}
}
$brank=new brank();
$brank->updateBrankInfo('credit','積分名稱');
$brank->updateBrankInfo('brankDeposit', $money);
$brankreturn=$brank->brankWithdraw('brankDeposit');//操作存款類
$brankreturn=$brank->brankWithdraw('brankDeposit');