1. 程式人生 > >採用DDD的系統Java程式碼的安排記錄

採用DDD的系統Java程式碼的安排記錄

本文僅做個人記錄。

專案需要一個頂層包,這和採用其他型別設計的專案沒有區別。比如:

頂層包:com.mycompany.myprjname [myprjname為專案的名稱]

每個限界上下文使用一個單獨的工程來表示,這個功能的包命名在myprjname 下一層:

com.mycompany.myprjname.cumtomer.domain, [cumtomer表示“客戶”這個上下文的主要包],基本應該不含類和介面的定義

com.mycompany.myprjname.cumtomer.domain.model,可包含實體,值物件,服務等,儲存庫介面,服務不單獨設定包(可能導致貧血模型)

在下面可分模組,模組在customer下:

com.mycompany.myprjname.cumtomer.infrastructure 【基礎架構包】

infrastructure下按照實際內容可分為:持久化,訊息機制,網路訪問等不同的包。如果工程不是很大,在這幾個包下就不要再分包了。

這些包不參與領域模型的直接功能,定義到子包下沒有什麼影響。