【发布时间】:2020-01-17 13:23:12
【问题描述】:
使用 c# 事件在聚合边界内的实体之间进行通信是个好主意吗?
【问题讨论】:
标签: c# events domain-driven-design aggregate
使用 c# 事件在聚合边界内的实体之间进行通信是个好主意吗?
【问题讨论】:
标签: c# events domain-driven-design aggregate
应该没有必要这样做。作为入口点的聚合根在必要时将调用委托给子级并处理返回值。
如果聚合中的通信非常复杂,以至于您觉得需要事件(例如,通知其他子实体第一个子实体的更改),那么您的聚合的范围可能太大。
“偏爱小聚合”(Vaughn Vernon)。
【讨论】:
聚合负责在其范围内保持一致性 (AggregateRoot)。我认为聚合应该管理实体之间的通信,以确保保持一致性。
【讨论】: