為什麼要談「維度」#
Part I 已經建立了一個關鍵觀念:元件之間的耦合方式,決定了系統最終是模組化的還是複雜的。要把設計引導到對的方向,必須先理解耦合對系統的影響有哪些不同面向。
Part II 把耦合拆成三個維度:
- 強度(strength):元件間共享了多少知識、知識的種類為何
- 空間(space):元件在程式碼庫中的物理位置如何影響耦合
- 時間(time):元件變動的頻率與傳播
章節脈絡#
- Chapter 5 結構化設計的模組耦合
- 從耦合最早被建模的那一刻開始:1960 年代末 Structured Design 提出的 module coupling
- 雖年代久遠,至今仍適用
- Chapter 6 共生(Connascence)
- 評估元件間共享知識的另一個模型
- 介紹 connascence 的不同層級,以及與 module coupling 的關係
- Chapter 7 整合強度(Integration Strength)
- 把 module coupling 與 connascence 整合成單一模型
- 解釋為何需要這個整合,以及如何在實務中應用
- Chapter 8 距離(Distance)
- 把焦點轉到「空間」:元件在程式碼庫中的物理距離
- 物理距離如何影響元件「一起改變」的傾向
- Chapter 9 易變性(Volatility)
- 把焦點轉到「時間」:元件變動的速率與原因
- 額外探討哪些因素會讓變動沿著耦合鏈傳播
在 Chapters 5、6、7 中,你會看到許多耦合層級——有些聽起來合理,有些可能讓你直接皺眉。
此時還太早下「哪些好、哪些該避免」的判斷。 那是 Part III「平衡」的工作。在到達 Part III 之前,先專心辨識耦合的不同型態,以及它們對系統中「知識流動」的影響。