🎯 什麼情境該想到我
當你「一個類別已經沒剩多少責任、不再值得獨立存在」的時候(常見於重構後被逐步掏空的類別)——把它併回最常使用它的那個類別。也常用在「想把兩個類別的職責打散重分」時,先合再拆。
⚙️ 怎麼用(步驟 / 公式)
意圖:一個類別責任所剩無幾時,把它併回最常用它的另一個類別。
動作要點(小步安全進行):
- 選定「吸收方」類別(通常是最常使用來源類別的那個)。
- 在吸收方類別上,為來源類別的每個公開方法建立對應的(委託)方法,先轉呼叫過去。
- 把所有對來源類別的呼叫端,改成呼叫吸收方類別上的這些方法,測試。
- 用「搬移欄位」「搬移函式」把來源類別的欄位與方法逐一搬進吸收方類別。
- 全部搬完後,刪除已無內容的來源類別。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 若來源類別仍有清楚且值得獨立的職責,就別內聯,反而該保留或做提煉類別 Extract Class。
- 反向手法:提煉類別 Extract Class。
🔗 相關工具
- 提煉類別 Extract Class(本手法的反向操作)
- 行內函式 Inline Function(同屬「去掉不必要間接層」的思路)
- 重構