我有一个名为Organisation
的模型,另一个名为Account
。DDD与其他字段的多对多关系
Organisation
是创建新的Account
的总根。
的Organisation
至少有一个Account
的Organisation
至少有一个Account
这是主人
一个Account
必须属于至少一个Organisation
的Account
需要拥有至少一个Organisation
所以我想引入一个叫OrganisationAccount
的模型
OrganisationAccount
将持有与Organisation
相关联的所有Accounts
,并跟踪其中一个是否为所有者。
这是一个糟糕的设计?什么是更好的方法?网上有一些文章指出DDD与多对多的关系可能非常糟糕。
在Organisation
模型中维护两个IEnumerable<Account>
属性会更好吗?
你应该关注行为,而不是结构。查看有界的上下文,在这种上下文和事务边界应该支持的用例。然后确定在这些用例中需要哪些类型的信息并创建一个支持这些用例的模型。确保一个聚合拥有它的所有信息(但没有它不需要的)。除非有非常有说服力的理由,否则不要与其他有界的环境共享模型。请注意,DDD!= ER设计具有标准化。 – Alex