🎯 什麼情境該想到我

當你「用一個裸露的記錄(record)或雜湊/字典到處直接讀寫欄位」的時候——把它換成類別。類別能隱藏內部結構、控管欄位存取,也讓「存起來的值」和「算出來的值」對使用者一視同仁,不必在意差別。

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

意圖:把可變的裸資料記錄換成類別,以便控管欄位存取、隱藏內部結構。

動作要點(小步安全進行):

  1. 對持有這筆記錄的變數做封裝變數 Encapsulate Variable,讓存取集中到取值函式。
  2. 建立一個類別包住這筆記錄,讓取值函式回傳這個類別的實例;在類別裡提供對應的取值/設值方法。
  3. 逐一把「直接讀寫記錄欄位」的地方改成呼叫類別的存取方法,每步測試。
  4. 全部改完後,去掉對外直接暴露原始記錄的路徑,讓內部結構真正被隱藏。
  5. 之後可自由改變內部欄位表示,甚至把某些欄位改成「即時計算」而外界無感。

🧪 我實際套用的紀錄

  • (待填)

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

  • 若這筆記錄是不可變的、且只是單純資料傳遞(DTO),封裝的好處有限。
  • 使用範圍很小、很短命的記錄不必大費周章。

🔗 相關工具