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();

留言

這個網誌中的熱門文章

c語言-關於#define用法

CMD常用網管指令

PHP 與 JavaScript 之間傳值利用 json