聚合和DDD

Dar*_*iel 1 c# domain-driven-design aggregation

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

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

pla*_*alx 5

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

在不了解您的域名的情况下,我觉得Agency并且Agent是他们自己的聚合根,因此他们每个人都拥有他们的存储库并且Account将通过身份引用它们.

设计聚合是最复杂的建模任务,整本书可以写在主题上.我强烈建议您阅读Vaughn Vernon的Effective Aggregate Design.