🎯 什麼情境該想到我
當你「想追蹤一次業務交易中所有被改動的物件,最後一次統一提交或回滾」的時候。
⚙️ 怎麼用(步驟 / 公式)
意圖:維護一份「受業務交易影響的物件清單」,協調變更寫回,並解決並行問題、減少資料庫往返。
做法要點:
- 追蹤新增、修改、刪除的物件(new / dirty / removed)。
- 交易進行中先在記憶體記錄變更,commit 時才一次寫入資料庫。
- 把多次小異動整併,減少資料庫連線與往返;並可統一在一個資料庫交易內提交或回滾。
- 常與 Data Mapper、Identity Map 搭配,是 ORM 的核心機制。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 需要正確追蹤物件狀態,登錄機制寫錯會漏寫或重寫。
- 極簡單、單筆立即寫入的情境不需要它。
- 要考量並行控制(樂觀 / 悲觀鎖)搭配。
🔗 相關工具
- 識別對應 Identity Map(常一起確保物件唯一)
- 資料對應器 Data Mapper(工作單元協調它做實際寫入)
- 企業應用架構模式