2010-11-23 80 views
3

如何事件采购可与多种类型的字典对象的像CountryRegionTime Zone等和字典类型从特定的域模型就像BudgetAvailability定义相结合。一些字典对象应该可以在管理用户界面中编辑,但有些不是。事件采购和字典对象

例如我们决定,我们不需要管理员用户界面的国家。因此我们不需要执行AddCountry/RemoveCountry命令。

我是否应该生成一组CountryAdded事件,即是否应该将字典对象作为事件流保存? 我们有没有使用其他事件流的真相源?


如果我可以毫不事件流去字典对象,你会如何解决这个问题:

与 数量在每个国家的用户的国家显示列表。

在这种情况下,我需要与听众读模式Country对象表示为UserAdded事件。

谢谢。

回答

5

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

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

顺便说一句我建议在DDD/CQRS group上发布类似的问题。它是CQRS/DDD/ES问题上最活跃的社区。

+0

谢谢你Rinat!你完全回答我的问题。感谢您指点我DDD/CQRS组。我找到了很多有用的问题/答案。会问我未来在这个小组中提出的问题。 – 2010-11-26 19:44:52