本書的第二部分是「模式目錄」,以參考手冊的形式詳細描述每一個模式。這些模式依據其所屬領域分為十個類別,每個模式都包含名稱、意圖、示意圖、動機問題、運作方式、使用時機與程式碼範例。

如何使用本部分#

不需要從頭到尾閱讀所有模式。只需對各模式有大致的了解——它們解決什麼問題、如何解決——就足夠了。當你在實際工作中遇到相關問題時,再深入閱讀對應的模式即可。

模式的結構#

每個模式都包含以下幾個部分:

  • 名稱(Name):建立共同詞彙,促進設計溝通
  • 意圖與示意圖(Intent & Sketch):一兩句話概述模式,搭配視覺化呈現
  • 動機問題(Motivating Problem):描述模式要解決的核心問題
  • 運作方式(How It Works):討論實作細節與變體
  • 使用時機(When to Use It):分析取捨與替代方案的比較
  • 延伸閱讀(Further Reading):指向其他重要的討論文獻
  • 範例(Examples):以 Java 或 C# 撰寫的簡單範例

模式分類總覽#

章節類別涵蓋模式數量
Chapter 9Domain Logic Patterns4 個模式
Chapter 10Data Source Architectural Patterns4 個模式
Chapter 11Object-Relational Behavioral Patterns3 個模式
Chapter 12Object-Relational Structural Patterns9 個模式
Chapter 13Object-Relational Metadata Mapping Patterns3 個模式
Chapter 14Web Presentation Patterns7 個模式
Chapter 15Distribution Patterns2 個模式
Chapter 16Offline Concurrency Patterns4 個模式
Chapter 17Session State Patterns3 個模式
Chapter 18Base Patterns10 個模式

模式之間並非孤立存在——它們往往彼此關聯。例如,只有在使用 Domain Model 時才會看到 Class Table Inheritance。理解這些關聯有助於做出更好的架構決策。