首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DDD和EventSourcing在设计中如何检测冗余事件

DDD和EventSourcing在设计中如何检测冗余事件
EN

Stack Overflow用户
提问于 2022-06-07 11:16:51
回答 1查看 77关注 0票数 0

我们正在EventSourcing的帮助下开发我们的应用程序。让我们想象一下,我们有一个"InvestorAccount“-持有投资者投资组合(股票)的信息。

我们有两个选择,哪些是我们应该拥有的:

  1. InvestorAccountCreated event
  2. SharesBought event
  3. SharesSold事件

  1. SharesBought event
  2. SharesSold事件

我们不确定是否需要InvestorAccountCreated事件。我们可以使用SharesBought作为第一个初始事件。我们的想法是,当投资者购买股票时,我们会自动为他创建账户。现在,拥有空的创建者帐户(没有股票)是没有意义的,我们也不认为拥有InvestorAccountCreated事件是合适的,但也许我们仍然应该拥有它,因为它在将来将是有用的?

我们需要InvestorAccountCreated吗?为什么?

EN

回答 1

Stack Overflow用户

发布于 2022-06-07 16:48:56

简单的回答是(几乎总是在DDD中):这取决于。

如果投资者帐户中没有从未拥有过股票的概念,那么举办一个InvestorAccountCreated事件可能不是一个好主意,因为这使得从未拥有股票的投资者帐户的状态可以从持久化事件派生出来,并强制运行时验证没有立即(甚至更原子地)发出SharesBought事件就不会发出InvestorAccountCreated事件。

尽管如此,如果没有InvestorAccountCreated事件,实际上,如果域名需要建立一个没有购买股票的投资者账户,那就变得更加困难了。可以添加事件,但您已经放弃了保证每个投资者帐户都有一个InvestorAccountCreated的能力(例如,您不能通过计算InvestorAccountCreated事件来计算投资者帐户的数量)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72530246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档