gpt4 book ai didi

c# - CQRS、Wpf + UI 刷新

转载 作者:行者123 更新时间:2023-11-30 18:22:41 25 4
gpt4 key购买 nike

我的公司正在开发一款用于产品销售的新软件。我们决定将 DDD+CQRS 基础结构和 WPF 用于表示层,但我不知道在引发事件时如何通知我的 UI。1)问题:- 运算符(operator)单击“注册”按钮以保存订单。- 我的 ViewModel 将 RegisterOrderCommand 发送到命令总线- “RegisterOrderCommandHandler”管理命令- 域层中的 OrderAggregateRoot 注册订单。- 域事件“RegisterOrderEvent”被发送到事件总线。

如何通知我的用户界面操作已完成?我的 ViewModel 注册一个 EventHandler 来管理域层中的事件是否正确?

2)问题:与第一个类似。我有一个外部设备想要与我通信。我必须在哪里放置听众?在领域层、应用层还是基础设施层?

谢谢

最佳答案

1) 这取决于您发送的命令是同步的还是异步的。在第一种情况下,您可以在 try catch block 中发送命令,让命令处理程序在命令无效时抛出异常。在第二种情况下,恐怕您只有 2 个选择:

a) 假设命令总是成功的

b) 创建一个由读取端的事件处理程序处理的失败事件,并在 UI 级别相应地处理它。

2) 当然不在领域层。我会将监听器放在基础架构层(与应用程序/业务逻辑无关),并且我会在应用程序层中提供一个服务,该服务使用该监听器从外部设备获取数据。

关于c# - CQRS、Wpf + UI 刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33691522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com