🎯 什麼情境該想到我

當你發現「一個欄位其實比較常被另一個類別存取,或它在概念上更該屬於別的類別」的時候,或每次修改某資料時,總要牽動另一個類別一起改。

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

意圖:資料結構是軟體的骨架,欄位放對地方能讓程式更好懂、更好改。把欄位搬到「更常存取它、或概念上更該擁有它」的類別。

小步安全進行:

  1. 確認來源欄位有被良好封裝(有取值/設值方法或存取器);若沒有,先做封裝欄位。
  2. 執行測試。
  3. 在目標類別建立對應欄位與存取方法。
  4. 確保來源物件能取得目標物件(有參考可指向它)。
  5. 調整來源的存取器,讓它改為委派到目標物件的欄位。
  6. 執行測試。
  7. 逐步把使用端改為直接存取目標,最後移除來源欄位。

🧪 我實際套用的紀錄

  • (待填)

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

  • 欄位未封裝時直接搬會很痛;先做封裝欄位再搬。
  • 若來源物件沒有通往目標物件的參考,搬移成本會變高,需先建立關聯。
  • 若兩邊都頻繁用到,硬搬只是把耦合換個方向,先評估。

🔗 相關工具