本書的第二部分是「模式目錄」,以參考手冊的形式詳細描述每一個模式。這些模式依據其所屬領域分為十個類別,每個模式都包含名稱、意圖、示意圖、動機問題、運作方式、使用時機與程式碼範例。
如何使用本部分#
你不需要從頭到尾閱讀所有模式。只需對各模式有大致的了解——它們解決什麼問題、如何解決——就足夠了。當你在實際工作中遇到相關問題時,再深入閱讀對應的模式即可。
模式的結構#
每個模式都包含以下幾個部分:
- 名稱(Name):建立共同詞彙,促進設計溝通
- 意圖與示意圖(Intent & Sketch):一兩句話概述模式,搭配視覺化呈現
- 動機問題(Motivating Problem):描述模式要解決的核心問題
- 運作方式(How It Works):討論實作細節與變體
- 使用時機(When to Use It):分析取捨與替代方案的比較
- 延伸閱讀(Further Reading):指向其他重要的討論文獻
- 範例(Examples):以 Java 或 C# 撰寫的簡單範例
模式分類總覽#
| 章節 | 類別 | 涵蓋模式數量 |
|---|---|---|
| Chapter 9 | Domain Logic Patterns | 4 個模式 |
| Chapter 10 | Data Source Architectural Patterns | 4 個模式 |
| Chapter 11 | Object-Relational Behavioral Patterns | 3 個模式 |
| Chapter 12 | Object-Relational Structural Patterns | 9 個模式 |
| Chapter 13 | Object-Relational Metadata Mapping Patterns | 3 個模式 |
| Chapter 14 | Web Presentation Patterns | 7 個模式 |
| Chapter 15 | Distribution Patterns | 2 個模式 |
| Chapter 16 | Offline Concurrency Patterns | 4 個模式 |
| Chapter 17 | Session State Patterns | 3 個模式 |
| Chapter 18 | Base Patterns | 10 個模式 |
模式之間並非孤立存在——它們往往彼此關聯。例如,只有在使用 Domain Model 時才會看到 Class Table Inheritance。理解這些關聯有助於做出更好的架構決策。