| 類別 | 模式 | 核心目的 |
|---|---|---|
| 創建型 | 單例 | 保證類只有一個實例,提供全局訪問點 |
| 工廠方法 | 定義創建對象接口,由子類決定實例化哪個類 | |
| 抽象工廠 | 提供創建一系列相關對象的接口,無需指定具體類 | |
| 建造者 | 將複雜對象構建與表示分離,同一構建過程可創建不同表示 | |
| 原型 | 通過複製現有實例創建新對象,避免重複初始化 | |
| 結構型 | 適配器 | 將一個類接口轉換為客戶期望的另一接口 |
| 裝飾器 | 動態給對象添加職責,比繼承更靈活 | |
| 代理 | 為其他對象提供代理,控制訪問 | |
| 外觀 | 為子系統提供統一高層接口,降低耦合 | |
| 組合 | 將對象組合成樹形結構,統一處理單個與組合對象 | |
| 橋接 | 將抽象與實現分離,使其可獨立變化 | |
| 享元 | 共享細粒度對象,減少內存佔用 | |
| 行為型 | 策略 | 定義算法族,封裝每個算法,使其可互換 |
| 觀察者 | 定義對象間一對多依賴,狀態改變時自動通知 | |
| 狀態 | 允許對象在內部狀態改變時改變行為 | |
| 模板方法 | 定義算法骨架,將某些步驟延遲到子類 | |
| 職責鏈 | 將請求傳遞給多個處理者,避免發送者與接收者耦合 | |
| 命令 | 將請求封裝為對象,支持撤銷、排隊、日志 | |
| 訪問者 | 在不改變類的前提下定義新操作 | |
| 中介者 | 用中介對象封裝一組對象交互,降低耦合 | |
| 備忘錄 | 捕獲對象內部狀態,支持恢復 | |
| 解釋器 | 定義語言文法及解釋器 |
掌握這些原則與模式,能顯著提升軟件架構的靈活性、可維護性與擴展性。