采用事件采购的库存计数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了采用事件采购的库存计数相关的知识,希望对你有一定的参考价值。
我正在尝试使用事件源/ CQRS重写基于CRUD的库存系统。
我遇到的问题是如何处理库存盘点。这个想法是商店有时会想要计算他们的库存并确定是否有任何缩减(我们认为已售出但仍在库存中的物品,或者我们认为是在库存但不能在商店中找到的物品)。
在CRUD系统中,当有人开始计数时,系统会在名为“期望”的表格中创建所有可用库存的列表,并且在扫描每个库存项目时,它基本上将该项目标记为期望列表。收缩的不同之处在于期望列表中未扫描的任何内容,或扫描的任何不在期望列表中的内容。
问题是我无法理解如何在ES中表示这一点。如果我唯一的实体是“库存”,我如何确定计数何时开始或完成?
即使是我能看到的任何ES / CQRS库存系统的例子也会有所帮助
任何帮助非常感谢。
在有人开始的CRUD系统中......
“开始”这个词在这里是一个很大的暗示 - 它暗示了一个将有自己的簿记要做的过程。
需要注意的另一件事是 - 除了领域模型关于“应该”存在什么库存的想法 - 几乎所有数据都来自现实世界。有些人决定何时开始审计,审计结束时,会考虑哪些库存。
在事件源世界中,您应该期望此过程拥有自己的事件流 - 一开始就会发生一系列事件,以记录您需要考虑哪些库存,然后在库存处置变得清晰时发生其他事件。
请注意,数据是库存的副本;就像当前进程将您想要的东西复制到新表中一样。当像自治这样的问题出现时,这变得非常重要。
(它也可能是摘要 - 在执行期望审计时,库存表上可能存在您不重视的字段。)
所以你说拥有不代表真正“东西”的聚合物是可以的
是的,虽然更有用的想法是业务流程的实例是真实的。
如果您愿意,可以考虑将日志/日志/文档作为“事物”来跟踪正在进行的工作。
以上是关于采用事件采购的库存计数的主要内容,如果未能解决你的问题,请参考以下文章