**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內核了解:生命周期及運行模式