【发布时间】:2015-10-26 08:41:12
【问题描述】:
我是 CQRS 的新手,希望得到有关如何在旧系统上实现此功能的建议。
我有一些问题:
数据库将保留在旧系统中。我猜对了,我们对 Event Sourcing 没有任何用处?
执行某些命令需要时间(从几秒到几分钟不等)。我们如何使用 CQRS 处理它?
我希望通过以下方式解决这个问题:
- 客户端发送 UpdateSomeDataCommand
- UpdateSomeDataHandler 创建一个从旧系统检索数据的新线程
- 客户端使用读取模型获取缓存数据并呈现给用户
- 当 UpdateSomeDataHandler 准备好检索数据时,它会发送 SomeDataUpdated 事件
- 读取模型对 SomeDataUpdated 做出反应并将新数据存储在其缓存数据库中
- 读取模型使用 INotifyPropertyChanged 通知客户端更新的数据可用。
- 客户端从读取模型中检索更新数据并将其呈现给用户。
感觉好像我做错了。但我想不出更好的了。
【问题讨论】:
标签: c# cqrs legacy-database