两个基于事件的限界上下文,如何加载初始数据?
Two event based bounded contexts, how to load initial data?
在通过消息传递集成两个限界上下文时,我将如何加载初始数据(假设来自 UI)?
示例:
- 限界上下文 #1 - 机场
- 限界上下文 #2 - 用户代理 (UI) - 负责 displaying/updating 机场的飞机。
当 UI 刚开始时,我想查询 "Airport" 所有飞机。
我该怎么做?
我目前的想法是模拟一个方法调用:
- UI 上下文 - Post "GetAirplanes" 消息到 "UI Queue"
- Airport Context - 订阅 "UI Queue",看到 "GetAirplanes" 消息
- Airport 上下文 - Post "AllAirplanes" "Airport Queue"
上的消息
- UI 上下文 - 订阅 "Airport" 队列
- UI 上下文 - 接收消息 "AllAirplanes" 并更新 HTML table.
一个好的方法是从事件中建立一个读取模型ui。读取模型只是一个简单的 dto,它被 ui 发送到您的 ui。这就是您要查询的内容。它应该超级简单并且针对 ui 进行了优化。
通常您根本不会查询您的域。它负责处理命令和引发表示状态更改的事件消息。
您订阅这些事件以确保您的读取模型是最新的并准备好为您的 ui 提供服务。
我有一个 post 可能对您有帮助,我在其中进行了更详细的介绍。
在通过消息传递集成两个限界上下文时,我将如何加载初始数据(假设来自 UI)?
示例:
- 限界上下文 #1 - 机场
- 限界上下文 #2 - 用户代理 (UI) - 负责 displaying/updating 机场的飞机。
当 UI 刚开始时,我想查询 "Airport" 所有飞机。 我该怎么做?
我目前的想法是模拟一个方法调用:
- UI 上下文 - Post "GetAirplanes" 消息到 "UI Queue"
- Airport Context - 订阅 "UI Queue",看到 "GetAirplanes" 消息
- Airport 上下文 - Post "AllAirplanes" "Airport Queue" 上的消息
- UI 上下文 - 订阅 "Airport" 队列
- UI 上下文 - 接收消息 "AllAirplanes" 并更新 HTML table.
一个好的方法是从事件中建立一个读取模型ui。读取模型只是一个简单的 dto,它被 ui 发送到您的 ui。这就是您要查询的内容。它应该超级简单并且针对 ui 进行了优化。
通常您根本不会查询您的域。它负责处理命令和引发表示状态更改的事件消息。
您订阅这些事件以确保您的读取模型是最新的并准备好为您的 ui 提供服务。
我有一个 post 可能对您有帮助,我在其中进行了更详细的介绍。