🎯 什麼情境該想到我

當你「想讓領域層像操作一個記憶體集合一樣存取物件,不必直接面對資料庫」的時候。

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

意圖:在領域層與資料對應層之間,提供一個像「記憶體物件集合」的介面,隔離領域邏輯與資料存取細節。

做法要點:

  • 對外提供類似集合的方法(新增、移除、依條件取得領域物件)。
  • 用戶端用領域語彙描述要什麼,不必知道背後是 SQL 還是其他儲存。
  • 內部常以查詢物件組裝查詢條件,再交給資料對應層執行。
  • 讓領域程式碼讀起來像純物件操作,強化領域模型的純粹性。

🧪 我實際套用的紀錄

  • (待填)

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

  • 對簡單應用是額外一層抽象,可能過度設計。
  • 完整實作(支援任意查詢)成本不低,通常需框架支援。
  • 若直接用 ORM 的查詢介面已足夠,未必要再包一層。

🔗 相關工具