為什麼要談「維度」#

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 之前,先專心辨識耦合的不同型態,以及它們對系統中「知識流動」的影響。