我有一個名爲Organisation
的模型,另一個名爲Account
。DDD與其他字段的多對多關係
Organisation
是創建新的Account
的總根。
的Organisation
至少有一個Account
的Organisation
至少有一個Account
這是主人
一個Account
必須屬於至少一個Organisation
的Account
需要擁有至少一個Organisation
所以我想引入一個叫OrganisationAccount
的模型
OrganisationAccount
將持有與Organisation
相關聯的所有Accounts
,並跟蹤其中一個是否爲所有者。
這是一個糟糕的設計?什麼是更好的方法?網上有一些文章指出DDD與多對多的關係可能非常糟糕。
在Organisation
模型中維護兩個IEnumerable<Account>
屬性會更好嗎?
你應該關注行爲,而不是結構。查看有界的上下文,在這種上下文和事務邊界應該支持的用例。然後確定在這些用例中需要哪些類型的信息並創建一個支持這些用例的模型。確保一個聚合擁有它的所有信息(但沒有它不需要的)。除非有非常有說服力的理由,否則不要與其他有界的環境共享模型。請注意,DDD!= ER設計具有標準化。 – Alex