事件采购和字典对象

Dmi*_*ich 3 cqrs event-sourcing

如何事件采购可与多种类型,如字典对象的组合Country,Region,Time Zone等和字典类型从像特定的域模型BudgetAvailability定义.一些字典对象应该可以在管理员界面中进行编辑,但有些则不行.

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

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


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

显示每个国家/地区的用户数量的国家/地区列表.

在这种情况下,我需要Country在读取模型中使用侦听器来表示对象UserAdded.

谢谢.

Rin*_*lin 5

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

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

顺便说一下,我建议将这些问题发布到DDD/CQRS组.它是CQRS/DDD/ES问题上最活跃的社区.