FAQ:Domain Event 和 C# 中的 Event 有啥区别?

问:

Domain Event 和 C# 中的 Event 有啥区别?

答:

C# 中的 Event,事件、监听者列表和事件发布器是由一个类型承担,事件源和监听者之间的生命周期耦合在一起,C# 帮你提供了一个语法糖 以支持这种模式。

DDD 中的 Event,事件、监听者列表和事件发布器是由三个类型承担,事件源和监听者之间的生命周期没有耦合在一起。DDD 中的事件监听者,还会分为两类:内部事件监听者和外部事件监听者,当事件发生时,内部事件监听者会立执行,外部事件监听者会在工作单元提交后执行。如果考虑事件溯源,还需要考虑如何持久化事件,以及外部事件发布的顺序问题。

原文地址:https://www.cnblogs.com/happyframework/p/3379498.html