领域驱动设计 – 事件采购:触发他人和重建状态的事件

前端之家收集整理的这篇文章主要介绍了领域驱动设计 – 事件采购:触发他人和重建状态的事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
通过从EventStore重播事件来重建模型,特别是当事件可能触发其他事件发生时,我正在努力解决应该发生的情况.

例如,已经进行了10次购买的用户应该升格为首选客户,并收到一封电子邮件,提供他们某些促销活动.

我们显然不希望每次重建该用户的模型时发送电子邮件,但是当我们重播第10个PurchaseMadeEvent时,我们如何避免发生这种情况?

解决方法

事件链接可能非常棘手,很容易失去控制,所以我尽可能地避免.例如在您描述的场景中,我会提出一个UserPromotedEvent(甚至可能使用PromoteUserCommand),但是我不会考虑将电子邮件的实际/实体发送作为我的域的一部分.相反,我将为UserPromotedEvent创建额外的处理程序/反规范化程序,它可以注册需要发送电子邮件和一些额外的检查.之后,另一个进程将收集尚未处理的电子邮件的信息并发送它们.这种方法将减轻不完全可访问/可扩展的电子邮件网关可能出现的问题.

更一般来说 – 事件链接的需要经常表明您应该考虑为该过程实施Saga.

原文链接:https://www.f2er.com/html/229695.html

猜你在找的HTML相关文章