🎯 什麼情境該想到我
當你「業務規則複雜、多變,想用一組互相合作的物件來表達領域」的時候。
⚙️ 怎麼用(步驟 / 公式)
意圖:建立一個由物件組成的網,每個物件同時承載資料與行為,共同表達業務領域的邏輯。
做法要點:
- 物件對應領域概念(如訂單、客戶、商品),把資料與相關行為放在一起。
- 物件之間互相合作、彼此參照,形成關聯網。
- 通常搭配 Data Mapper 處理持久化,讓領域物件不需知道資料庫。
- 適合規則複雜、需長期演進的系統;初期投資較高,長期報酬也高。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 學習曲線與前期成本較高,簡單業務用它會過度設計。
- 需搭配物件關聯對應機制(Data Mapper 等),複雜度上升。
- 簡單邏輯改用交易指令稿或表格模組。
🔗 相關工具
- 交易指令稿 Transaction Script(簡單業務時的替代方案)
- 服務層 Service Layer(在領域模型之上定義對外操作邊界)
- 資料對應器 Data Mapper(幫領域模型處理持久化)
- 企業應用架構模式