🎯 什麼情境該想到我

當你「想確保同一筆資料在一次會話內只被載入一次,避免出現多份不一致的物件」的時候。

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

意圖:用一份對照表記錄「已載入的物件」,每筆資料只載入並實例化一次,之後都回傳同一個物件。

做法要點:

  • 以主鍵為 key,把已載入的物件存進 map;再次請求同一筆時直接回傳快取。
  • 避免同一列在記憶體中出現兩個物件,防止更新互相覆蓋、狀態不一致。
  • 兼具效能好處:省掉重複的資料庫查詢。
  • 通常一個會話 / 交易一份 Identity Map,常由 Data Mapper 管理。

🧪 我實際套用的紀錄

  • (待填)

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

  • 生命週期要抓對(一般綁一次會話),跨會話共用會有陳舊資料風險。
  • 不可變值物件或不需要唯一身分的資料不必納入。
  • 需注意記憶體佔用與適時清理。

🔗 相關工具