JPP*_*JPP 2 domain-driven-design ddd-repositories aggregateroot cqrs
我正在玩DDD并弹出这个问题.我如何加载子聚合根?会出现几个性能问题.想象一下以下示例:
public AggregateRoot1
{
#region
properties
#endregion
public AggregateRoot2 AR2{get;set;}
public IEnumerable<AggregateRoot3> AR3List{get;set;}
(...)
}
Run Code Online (Sandbox Code Playgroud)
如果我在获得AggregateRoot1时加载AggregateRoot2和AggregateRoot3列表,那么图表就会非常庞大.这似乎不是一个好方法.
我有两个选择:
顺便说一句,我不考虑使用延迟加载.
我很期待听到你对AR儿童装载的看法.谢谢
理想情况下,聚合之间的引用应仅基于标识.这是选项1.但是,您应该评估每个引用,以确定引用保持聚合的一致性是否需要它.有时,两个聚合之间的关系本身可以成为一个单独加载的聚合.总的来说,看看Vaughn Vernon的有效聚合设计,深入分析设计聚合时的各种权衡.这也是David Masters在链接问题中指出的内容.
| 归档时间: |
|
| 查看次数: |
1980 次 |
| 最近记录: |