两个基于事件的有界上下文,如何加载初始数据?

时间:2015-02-07 03:54:43

标签: domain-driven-design

当通过消息传递整合两个有界上下文时,我如何加载初始数据(来自UI)?

示例:

  1. 有界背景#1 - 机场
  2. 有界背景#2 - 用户代理(UI) - 负责在机场显示/更新Airplaines。
  3. 当UI刚刚开始时,我想查询所有飞机的“机场”。 我该怎么做呢?

    我目前的想法是模拟方法调用:

    1. UI上下文 - 将“GetAirplanes”消息发布到“UI队列”
    2. 机场上下文 - 订阅“UI队列”,看到“GetAirplanes”消息
    3. 机场背景 - 在“机场排队”上发布“AllAirplanes”消息
    4. UI上下文 - 订阅“机场”队列
    5. UI上下文 - 接收消息“AllAirplanes”并更新HTML表格。

1 个答案:

答案 0 :(得分:1)

一个很好的方法是从事件中构建一个读模型。阅读模型只是一个适合您的ui的简单dto。这是你查询的内容。它应该是超级简单的并且针对ui进行了优化。

通常,您根本不会查询您的域名。它负责处理命令并引发表示状态更改的事件消息。

您订阅了这些活动,以确保您的阅读模式是最新的并准备好为您的用户服务。

我有一篇文章,你可能会觉得有用,我会详细介绍一下。

Over view of cqrs and event sourcing