本文配套源碼
比較
設計模式 常用程度 適用層次 引入時機 結構復雜度 Abstract Factory 比較常用 應用級 設計時 比較復雜 Builder 一般 代碼級 編碼時 一般 Factory Method 很常用 代碼級 編碼時 簡單 Prototype 不太常用 應用級 編碼時、重構時 比較簡單 Singleton 很常用 代碼級、應用級 設計時、編碼時 簡單 Adapter 一般 代碼級 重構時 一般 Bridge 一般 代碼級 設計時、編碼時 一般 Composite 比較常用 代碼級 編碼時、重構時 比較復雜 Decorator 一般 代碼級 重構時 比較復雜 Facade 很常用 應用級、構架級 設計時、編碼時 簡單 Flyweight 不太常用 代碼級、應用級 設計時 一般 Proxy 比較常用 應用級、構架級 設計時、編碼時 簡單 Chain of Resp. 不太常用 應用級、構架級 設計時、編碼時 比較復雜 Command 比較常用 應用級 設計時、編碼時 比較簡單 Interpreter 不太常用 應用級 設計時 比較復雜 Iterator 一般 代碼級、應用級 編碼時、重構時 比較簡單 Mediator 一般 應用級、構架級 編碼時、重構時 一般 Memento 一般 代碼級 編碼時 比較簡單 Observer 比較常用 應用級、構架級 設計時、編碼時 比較簡單 State 一般 應用級 設計時、編碼時 一般 Strategy 比較常用 應用級 設計時 一般 Template Method 很常用 代碼級 編碼時、重構時 簡單 Visitor 一般 應用級 設計時 比較復雜注:常用程度、適用層次、使用時機等基於自己的理解,結構復雜度基於C#語言,表格中所有內容僅供參考。