代码之家  ›  专栏  ›  技术社区  ›  Neil Barnwell

命令查询分离验证重试

  •  3
  • Neil Barnwell  · 技术社区  · 14 年前

    因此,我对CQS的基本概念很熟悉,在CQS中,可能有一个命令可以写入一个数据库,并更新从中读取的查询数据库。

    但是,请考虑您正在输入数据并希望防止重复的场景。

    1. 拿上床单。
    2. 把纸放在“完整的一堆”里。
    3. 重复。

    您现在如何防止用户再次输入同一个工资单号码,例如,如果他们分心了,记不清是否已经输入了一个,并且“消息”还没有返回到查询数据库供用户搜索?

    4 回复  |  直到 14 年前
        1
  •  1
  •   Shane Courtrille    14 年前

    首先,您可以轻松地使用本地缓存来确保直接用户不再重复使用相同的数字。这很简单。

    1. 系统发送命令,然后等待成功的结果。如果失败了,你只需询问固定信息,然后再试一次。从我所听到的一切来看,这似乎是错误的,甚至可能是一个反模式,虽然我没有足够的专家说任何一种方式。

        2
  •  1
  •   Udi Dahan    14 年前

    数据输入是一个非协作域—您没有多个用户对同一共享数据集执行操作。因此,CQRS并不特别相关。

        3
  •  0
  •   zs2020    14 年前

    我建议把工作流程改成这样

    1. 如果没有,那就拿上一张。并在表R中将take行的标志设置为“take”
    2. 在UI中输入员工姓名和唯一的工资单编号。
    3. 把纸放在“完整的一堆”里。
    4. 重复。

    该步骤应该以原子方式执行。

        4
  •  0
  •   Adam Fyles    14 年前