聚合和DDD

时间:2017-01-10 19:15:02

标签: c# domain-driven-design aggregation

我正在开发一个应用DDD原则的项目,我创建了一个类聚合(Account),它将包含类(代理)和(代理),其中(Account)在数据库中有表。我的问题是:

我需要为我的每个实体(帐户,代理和代理)创建一个Repository类和一个Service类,或者我应该创建AccountRepository并在其中执行3个类的插入和搜索?

1 个答案:

答案 0 :(得分:5)

只有聚合根才能拥有存储库,但您必须提供正确的聚合。

在不了解您的域名的情况下,我认为AgencyAgent是他们自己的聚合根,因此他们每个人都有自己的存储库,而Account会通过身份引用它们。< / p>

设计聚合是最复杂的建模任务,整本书可以写在主题上。我强烈建议你阅读Vaughn Vernon的http://azure.github.io/azure-documentdb-js-server/Collection.html#.ErrorCodes