php 設計模式之 策略
阿新 • • 發佈:2020-12-30
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. 使用場景
- 電商網站中,根據年齡或者性別展示不同的商品