🎯 什麼情境該想到我

當你「兩個模組(類別)之間私下互通太多彼此的內部細節,關起門來交換大量資料」的時候——它們對彼此的了解遠超過該有的程度。

⚙️ 怎麼用(步驟 / 公式)

這味道是什麼徵兆:模組之間過度熟悉彼此內部,會堆出高得驚人的耦合,讓任何改動都得同時顧到兩邊。作者比喻:模組間難免要交流,但要把這種「交易」降到最低、攤在檯面上。

通常用哪些重構手法對治:

  • 搬移函式(Move Function)/搬移欄位(Move Field):把糾纏的資料與行為重新分配,減少跨模組的私下往來。
  • 隱藏委託關係(Hide Delegate):讓一個模組不必直接知道另一個的內部,改透過中介。
  • 以委託取代子類 / 以委託取代父類(Replace Subclass/Superclass with Delegate):若耦合源自繼承(子類過度依賴父類內部),改用委託拉開距離。

🧪 我實際套用的紀錄

  • (待填)

⚠️ 注意 / 什麼時候不適用

  • 模組間本來就需要協作,適度的介面往來是正常的;味道指的是「過度」與「私下走內部」。

🔗 相關工具