2013-04-28 39 views
0

這是我的實體和關係:當一個被刪除的所有其他實體也將被刪除多少總根嗎我有

enter image description here

NO實體能夠在不實體A.存在。因此,A是我的聚合根。

但我不知道閹

1.) B is also an aggregate root for entity C,D and E 
2.) E is also an aggregate root for entity F 

1.) C,D and E can not exist without B being created 
2.) F can not exist without E being created 

難道我現在有3根總量,因此創建3個庫?

+0

AR在建模域時自然出現。你在這裏有一個關係數據庫模式。有界上下文(BC)決定一個聚合的開始和結束。在不同BC中具有相同名稱的實體也很常見,但結構略有不同,即產品實體的實施可以從一個BC中的(ID,Name)到另一個BC中具有大量細節的完整產品而變化。定義聚合體和它們的根時要非常小心,域對象的不正確建模是帶有DDD的最常見的缺陷。 – MikeSW 2013-04-29 07:20:31

回答

2

沒有關於您的域的更多信息,不可能提出有關聚合邊界的建議。實體之間的關係不如與實體相關的行爲相關。實體之間的關係不會自動轉換爲對象引用;關係也可以作爲知識庫實施。

聚合是一致性邊界。換句話說,它聚合了在執行相關行爲時必須保持一致的狀態。就你而言,很可能每個實體都是一個整體。看看effective aggregate design以更好地感受將一個域分解爲聚合體。