🎯 什麼情境該想到我

當你「有一筆被許多地方直接讀寫的可變資料(例如全域變數、共享狀態)」的時候——用取值/設值函式把它包起來,讓所有存取都經過同一個入口,之後要加驗證、記錄,或改變它的內部結構都只改一處。

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

意圖:用封裝函式(取值/設值)包住可變資料,集中控管對它的存取與修改。

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

  1. 建立取值(get)與設值(set)函式來讀寫這筆資料。
  2. 逐一把每個直接存取處改成呼叫這些封裝函式,每次都測試。
  3. 全部改完後,限制這筆資料的可見性(例如設為私有),確保外界只能透過封裝函式存取。
  4. 若連值本身也要保護不被外部竄改,可在取值時回傳副本、或封裝該筆記錄(見以物件取代基本型別、封裝記錄)。

🧪 我實際套用的紀錄

  • (待填)

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

  • 若這筆資料是不可變的(immutable),就沒有封裝存取的必要,不需硬包。
  • 使用範圍極小、只在單一函式內的臨時資料,封裝反而多此一舉。

🔗 相關工具