3

事件溯源如何与多种类型的字典对象(如CountryRegion等)Time Zone以及来自特定域模型(如BudgetAvailability定义)的字典类型相结合。一些字典对象应该可以在管理 UI 中编辑,但有些不能。

例如,我们决定不需要国家/地区的管理 UI。因此我们不需要执行AddCountry/RemoveCountry命令。

我应该生成一组CountryAdded事件,即我应该将字典对象作为事件流保存吗?除了事件流,我们是否曾经使用过事实来源?


如果我可以不用字典对象的事件流,你将如何解决这个问题:

显示国家列表以及每个国家的用户数量。

在这种情况下,我需要Country用事件监听器来表示读取模型中的对象UserAdded

谢谢你。

4

1 回答 1

5

如果您使用事件溯源作为持久性机制,那么:

  • 事件流是唯一的真实来源(从事件流生成的对象快照可用于提高性能,但它们只是技术)。
  • 当您使用事件溯源时,您不需要显式生成事件 - 只需发布在处理命令时生成的实际事件。
  • 如果您有一个永远不会改变的预定义国家列表,您可以硬编码并通过他们的国家代码引用它们。然而,这意味着视图模型和 UI 知道这一点,并且国家不会改变。

顺便说一句,我建议将此类问题发布到DDD/CQRS 组。它是 CQRS/DDD/ES 问题上最活跃的社区。

于 2010-11-25T07:51:24.317 回答