1. 程式人生 > 實用技巧 >php 設計模式之 策略

php 設計模式之 策略



1. 策略模式

策略模式,又稱為政策模式,屬於 行為型的設計模式

定義一系列的演算法,把它們一個個封裝起來,並且使它們可以相互替換。本模式使得演算法可獨立於使用它的客戶而變化

工廠模式屬於建立型模式,用來建立物件,返回new出來的物件。呼叫物件的方法是由客戶端來決定

策略模式通過執行上下文,將要呼叫的函式的行為和演算法封裝成類

程式碼冗餘和耦合度變低,每個策略模組完成對應的功能


2. 實列

interface Message {
    public function send();
}

class BaiduYunMessage implements Message {
    function send() {
        echo '百度雲傳送資訊!';
    }
}

class MessageContext {
    private $message;
    public function __construct(Message $msg) {
        $this->message = $msg;
    }
    public function SendMessage() {
        $this->message->send();
    }
}

$bdMsg = new BaiduYunMessage();
$msgCtx = new MessageContext($bdMsg);
$msgCtx->SendMessage();

3. 使用場景

  1. 電商網站中,根據年齡或者性別展示不同的商品