本部簡介#

本部以一個真實世界的設計題目,帶讀者走過「用標準物件導向方法解決問題」的全過程。這正是作者 Alan Shalloway 早期還沒接觸設計模式時所遇到的問題;它的價值在於呈現傳統做法的盲點,為後續學習設計模式鋪路。

為什麼要讀這部?#

本部凸顯傳統物件導向設計常見的問題:過深的繼承階層、緊密耦合(tight coupling)、低凝聚(low cohesion)

看清這些症狀後,才會明白為什麼設計模式能帶來不同層次的解法。

各章內容#

  • 第 3 章:需要彈性程式碼的問題(A Problem That Cries Out for Flexible Code)
    • 介紹 CAD/CAM 問題:從不斷演進的 CAD/CAM 系統中萃取資訊,餵給昂貴的專家系統
    • 建立後續章節共用的領域詞彙
  • 第 4 章:標準的物件導向解法(A Standard Object-Oriented Solution)
    • 用最直覺的方式(特例化每一種組合)解決 CAD/CAM 問題
    • 解法雖然能跑,但出現大量特例與類別爆炸——這正是傳統 OO 容易踩到的陷阱
    • 在第 13 章會回到同一問題,展示用設計模式重新架構後的差異