快轉到主要內容

設計模式

2020

【PHP 設計模式】模板方法 Template Method
以動物森友會大頭菜為例,學習模板方法設計模式。在一個操作中定義一個算法的骨架,而將一些步驟延遲到子類別中,使子類別可以不改變一個算法的結構即可重定義該算法的某些特定步驟。
【PHP 設計模式】策略模式 Strategy Pattern
以動物森友會大頭菜為例,學習策略模式設計模式。定義一系列的算法,把它們一個個封裝起來,並且使它們可以相互替換,在運行時動態更改物件行為。
【PHP 設計模式】狀態模式 State Pattern
以動物森友會大頭菜為例,學習狀態模式設計模式。允許一個物件在其內部狀態改變時改變其行為,這個物件看起來好像修改了它的類別。
【PHP 設計模式】規格模式 Specification Pattern
以動物森友會大頭菜為例,學習規格模式設計模式。將業務規則封裝成可重用和可組合的物件,使複雜的業務邏輯更加清晰和易於維護。
【PHP 設計模式】觀察者模式 Observer Pattern
以動物森友會島嶼連線為例,學習觀察者模式設計模式。當一個物件的狀態發生改變時,所有依賴於它的物件都得到通知並被自動更新,實現一對多的依賴關係。
【PHP 設計模式】空物件模式 Null Object Pattern
以動物森友會 NPC 交易為例,學習空物件模式設計模式。使用非 null 的空白物件來取代 null 值,提供預設行為而不是什麼都不做。
【PHP 設計模式】備忘錄模式 Memento Pattern
以動物森友會大頭菜為例,學習備忘錄模式設計模式。在不破壞物件封裝性的前提下,捕獲物件的內部狀態,並在物件之外保存這個狀態。
【PHP 設計模式】中介者模式 Mediator Pattern
以動物森友會背包與商店交互為例,學習中介者模式設計模式。用一個中介物件來封裝一系列物件之間的交互方式,使各物件不需要明確地相互引用,從而使其耦合松散。
【PHP 設計模式】疊代器模式 Iterator Pattern
以動物森友會背包管理為例,學習疊代器模式設計模式。提供一個一致的介面來存取物件集合的元素,而不需要暴露其內部的結構。
【PHP 設計模式】命令模式 Command Pattern
以動物森友會大頭菜買賣為例,學習命令模式設計模式。將請求封裝成一個物件,使你可用不同的請求來參數化其他物件,並支援請求的佇列、記錄和復原操作。