例如,已经进行了10次购买的用户应该升格为首选客户,并收到一封电子邮件,提供他们某些促销活动.
我们显然不希望每次重建该用户的模型时发送电子邮件,但是当我们重播第10个PurchaseMadeEvent时,我们如何避免发生这种情况?
解决方法 事件链接可能非常棘手,很容易失去控制,所以我尽可能地避免.例如在您描述的场景中,我会提出一个UserPromotedEvent(甚至可能使用PromoteUserCommand),但是我不会考虑将电子邮件的实际/实体发送作为我的域的一部分.相反,我将为UserPromotedEvent创建额外的处理程序/反规范化程序,它可以注册需要发送电子邮件和一些额外的检查.之后,另一个进程将收集尚未处理的电子邮件的信息并发送它们.这种方法将减轻不完全可访问/可扩展的电子邮件网关可能出现的问题.更一般来说 – 事件链接的需要经常表明您应该考虑为该过程实施Saga.
总结以上是内存溢出为你收集整理的领域驱动设计 – 事件采购:触发他人和重建状态的事件全部内容,希望文章能够帮你解决领域驱动设计 – 事件采购:触发他人和重建状态的事件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)