域事件是否可以在不属于聚合状态更改 (DDD) 的情况下发出

Ant*_*s S 6 events domain-driven-design aggregate event-driven domain-events

我想知道如果域事件不是聚合状态更改的自然结果,如何实现它(在 DDD 中)。

我借用这篇文章的例子。

因此,假设我们需要一个像:TemperatureWasMeasured这样的事件,它可能是我们所做的某些建模的产物(例如在事件风暴会话中)。

此事件感觉像是某些读取操作的产物,而不是某些聚合的实际状态更改。

所以问题是: 这个事件在哪里以及如何有意义地被发射?

我们可以创建一个实体或聚合,它可以有一个状态来计算读取次数,以便作为状态更改发出。但这真的有必要吗?

在现有的资源中,“领域事件”的定义似乎没有提到状态变化,而只是在领域中发生了一些事情。

那么测量的动作(在非量子力学环境中)被认为是一个域事件,就像TemperatureWasMeasured事件一样?

如果有人能澄清这些问题那就太好了,因为似乎没有明确的答案。

小智 1

有趣的问题...我也在尝试掌握 DDD。

在这种情况下,您不会在聚合中使用布尔值对象来定义其 true 或 false 吗?是否测量了温度?

我一直认为你需要将任何事件关联到一个聚合......