PHP设计模式-委托Delegation模式

在PHP委托设计模式(Delegation)中,有一个对象接受请求,同时将请求委托给另一个对象来处理。许多其他的模式,如状态模式策略模式访问者模式本质上就是委托模式的特殊形式。委托模式使得我们可以用聚合来替代继承。

实际场景比如有一个PHP项目任务,团队主管接受需求部门的请求,然后主管委托初级开发工程师去处理完成。PHP示例代码如下:

class TeamLeader
{
    protected $slave;

    // 将初级开发者分配给主管安排任务
    public function __construct(JuniorDeveloper $junior)
    {
        $this->slave = $junior;
    }

    // TeamLeader 委托 slave 去做苦逼编码工作
    public function writeCode()
    {
        return $this->slave->writeBadCode();
    }
}
class JuniorDeveloper
{
    public function writeBadCode()
    {
        return "某个初级开发人员开始写代码...";
    }
}
// 客户端调用
$teamLeader = new TeamLeader(new JuniorDeveloper());
echo $teamLeader->writeCode();

Leave a Reply

Your email address will not be published. Required fields are marked *