language-agnostic - 应用CQRS时如何在create中获取ID?

标签 language-agnostic cqrs

我对 CQRS 的看法是,严格遵循命令时不会返回任何内容(返回类型 void),因此我的示例非常简单:创建某些内容时如何检索 ID?

例如,在创建信用卡交易时,返回交易 ID 似乎相当重要,或者在创建客户时,如果您获取创建的客户或客户 ID,以便浏览器可以自动导航,则会更容易例如该客户页面。

一种解决方案可能是首先请求 ID,然后使用该 ID 创建客户或交易,但这看起来很奇怪。

有谁有这方面的经验或知道如何以最有效的方式完成它?也许我误解了什么?

最佳答案

CQRS 是一劳永逸的,并且由于 GUID 非常可靠(冲突风险低),因此发送您自己生成的 GUID 没有问题。

步骤基本上是:

  1. 创建您的命令
  2. 生成并为其分配您的身份 (GUID)
  3. 触发命令
  4. 返回之前生成的身份

了解更多关于GUIDs on Wikipedia的信息

关于language-agnostic - 应用CQRS时如何在create中获取ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4361889/

相关文章:

algorithm - 根据背景颜色确定字体颜色

unit-testing - 在进行 TDD 时,何时实现新的模拟依赖项?

将全名解析为其组成部分

cqrs - 事件存储和乐观并发

windows - 为所有用户存储具有读\写权限的应用程序数据的最佳目录?

nhibernate - 使用 NHibernate 进行事件溯源

CQRS 和领域事件

CQRS 命令和事件作为通用类?

domain-driven-design - 通过多个聚合从域事件重建查询

language-agnostic - 我将如何开始编写自己的防火墙?