委托模式顾名思义就是甲让乙做事,但乙又让丙做的,而甲是不知道的。
乙所具有的功能是很方便扩展的。
甲方是使用工具的: JiaFang.php
<?php/* ???Delegation 委托模式*/require_once ‘YiFang.php‘;require_once ‘BingFang.php‘;$yi_fang = new YiFang(new BingFang());$yi_fang->doWork();
乙方是承接任务的: YiFang.php
<?phpclass YiFang{ ???private $delegation; ???public function __construct($bing_fang) ???{ ???????$this->delegation = $bing_fang; ???} ???public function doWork() ???{ ???????$this->delegation->doRealWork(); ???}}
丙方是真正做事的: BingFang.php
<?phpclass BingFang{ ???public function doRealWork(){ ???????echo ‘其实是我做的,我是 ‘ . __class__; ???}}
运行JiaFang.php,输出结果
设计模式PHP实现之------委托模式
原文地址:https://www.cnblogs.com/BluePegasus/p/8288834.html