設計模式PHP實現之------委托模式
阿新 • • 發佈:2018-01-15
gpo truct 運行 src .com bin fun body require
委托模式顧名思義就是甲讓乙做事,但乙又讓丙做的,而甲是不知道的。
乙所具有的功能是很方便擴展的。
甲方是使用工具的: JiaFang.php
<?php /* Delegation 委托模式 */ require_once ‘YiFang.php‘; require_once ‘BingFang.php‘; $yi_fang = new YiFang(new BingFang()); $yi_fang->doWork();
乙方是承接任務的: YiFang.php
<?php class YiFang { private $delegation;public function __construct($bing_fang) { $this->delegation = $bing_fang; } public function doWork() { $this->delegation->doRealWork(); } }
丙方是真正做事的: BingFang.php
<?php class BingFang { public function doRealWork(){ echo ‘其實是我做的,我是 ‘ . __class__; } }
運行JiaFang.php,輸出結果
設計模式PHP實現之------委托模式