【发布时间】:2017-01-12 11:37:46
【问题描述】:
我一直在看 Greg Youngs 关于事件溯源的演讲,但我对业务逻辑的适用范围感到困惑。一个简单的例子:
1) Shopping Cart Created
2) Item Added
3) Item Added
4) Promotional Code - 20% Off
促销代码是根据购物车项目计算得出的,并将结果存储为事件。我知道“PromotionalCodeAddedEvent”可能有意义,但数学在哪里发生?我在想:
public void AddPromotionalCode(PromotionalCode code)
{
//perform calculation against shopping cart items.
//if valid
ApplyChanges(cmd);
}
然后结果不会在任何地方结束,读取模型将不得不执行计算。
我没有完全理解这个概念,任何帮助都会很棒。
【问题讨论】:
-
如果有帮助,我有一篇博文,其中介绍了典型的 CQRS 和 ES 应用程序以及它们如何组合在一起。你可以在这里看到它CQRS + Event Sourcing – A Step by Step Overview
标签: domain-driven-design business-logic event-sourcing