我想澄清一下,聚合模型应该是什么样子。 我有几个事件,其中包含永远不会用于验证的数据。
例如,触发操作(审核)的user_id这样的元数据,(可观察性的)触发了相关id的标签/标志。
它们将在命令中接收,并将作为事件的属性发送出去。每个事件持续存在时,它不会丢失。很清楚。
但是聚合对象应该包含这些值吗? 投影将具有它们并将显示它们。在我看来,将它们包含在Aggregate中是没有意义的。
或者,是的。如果要创建快照,则需要所有事件的属性。
感谢您的建议。
答案 0 :(得分:1)
聚合应仅包含与保持一致性所需的一样多的信息。如果您的业务规则要求使用user_id,则该信息应保留在汇总中。否则,不应该。