設計模式的價值
- 經過驗證:來自多位開發者的實踐經驗,已被證明在各種情況下有效
- 可重用:適用於多種應用場景,語言無關
- 可溝通:提供共享的術語,讓團隊更容易理解設計意圖
- 可維護:促進鬆散耦合,提高程式碼的可擴展性
創建型模式
- Singleton(單例):確保類別只有一個實例,提供全域訪問點
- Factory Method(工廠方法):定義創建物件的介面,由子類決定實例化哪個類別
- Abstract Factory(抽象工廠):提供創建一系列相關物件的介面
- Builder(建造者):將複雜物件的建構與其表示分離
- Prototype(原型):透過複製原型來創建物件
結構型模式
- Adapter(轉接器):將一個介面轉換成客戶期望的另一個介面
- Decorator(裝飾器):動態地為物件添加職責
- Facade(外觀):為子系統提供統一的簡化介面
- Proxy(代理):為另一個物件提供代理以控制訪問
- Composite(組合):將物件組合成樹狀結構表示部分-整體層次
行為型模式
- Observer(觀察者):定義一對多依賴關係,當一個物件變化時自動通知其他物件
- Strategy(策略):定義一系列演算法並使其可互換
- Command(命令):將請求封裝為物件
- Chain of Responsibility(責任鏈):將請求沿處理器鏈傳遞
- State(狀態):允許物件在其內部狀態改變時改變行為