命令查询分离 - 返回值的异步命令

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (60)

我在项目中采用了Command Query Separation原则。

但是,我并不严格遵守它,因为我们需要命令来返回值。

很多人都参考这篇文章,这是对这个概念的一个很好的解释:

但是,这里的一个陈述无法解释:

https://blogs.cuttingedge.it/steven/posts/2012/returning-data-from-command-handlers/

“...从命令返回值意味着命令永远不能异步执行”

任何人都可以详细说明这个吗?

为什么从Command返回一个值意味着它们不能再异步执行?

提问于
用户回答回答于

这里“异步”的概念意味着您不会等待结果作为执行某些其他任务的依赖项,例如插入具有从“create parent”命令返回的父记录ID的子记录。实际上,您引用的文章顶部的“更新”确实说明了这一点:客户端应该为插入数据库的记录创建标识符,这样就可以完美地实现CQ(R)S。

扫码关注云+社区

领取腾讯云代金券