我已經分配了一個相當簡單的項目作爲考試,我有想法使用域驅動設計開發它。聚合和聚合根困惑
你們中的許多人可能會說應用程序非常簡單,以至於使用存儲庫和UoW只是浪費時間,而且您可能是正確的,但我認爲這是一個學習更多東西的機會。
該應用程序是一個「機票」系統,從下面的圖像,你可能很可能猜測它的功能。
事情是,我不知道我是否正確地分離聚合和他們的根。
編輯: 我給出的數據模型,使任何人都可以很容易地發現整個功能。
問題是,從僱員的角度來看,「Rad」表示封裝了整個功能並且是聚合根。
但是從管理角度來看,航班沒有他的業務。 他只是想更新或添加新的飛機 - 公司等。
因此,然後有一個新的聚合根,這是飛機封裝飛機座位(實體),seatType(價值對象)和公司(實體)作爲新聚合。
- 這往往混淆我,因爲我有一個聚合根(飛機)在另一個聚合(飛行聚合)內。
- 由於聚合根被認爲是沒有它的「CORE」實體,其中的其他實體在沒有它的情況下沒有任何意義,所以我在考慮公司。而我的結論是,公司沒有飛機是有道理的。
爲了更多地解釋管理員想要插入新公司或想先載入公司然後載入其飛機的場景。
DDD原則說聚合中的任何實體只能從根本身加載。 所以這裏是混亂。
我已經更新了問題,而不是在這裏發佈評論,因爲它是該死的大。 – BeStelios