首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用领域驱动设计对需求进行建模

如何使用领域驱动设计对需求进行建模
EN

Stack Overflow用户
提问于 2015-03-31 11:20:27
回答 1查看 129关注 0票数 0

我有一个需求,我需要将这两个事件分组为一个事务,方法是根据特定的标准将它们分组。下面是关于这个要求的一些想法。

活动:

  1. 我们将不断接收事件到我们的系统。
  2. 每个事件都有一定的缓冲时间与其他事件进行分组。
  3. 如果缓冲区时间过去了,那么我们需要丢弃该事件。
  4. 根据两个事件的信息,我们需要将两个事件分组为一个组。
  5. 如果事件信息不充分,那么我们将发送事件信息到其他组件,它将响应更正的数据。
  6. 每当我们对事件进行分组时,如果相关事件转到数据校正组件,我们想要举行另一个事件,即使我们不能100%地确定匹配标准。我们希望执行这个步骤,因为我们希望匹配尽可能多的事件。

我想用领域驱动的设计来建模这个需求,任何建议都会很感激。

EN

回答 1

Stack Overflow用户

发布于 2019-07-27 09:59:31

如果不了解您的业务需求,就很难回答。但我们可以先从假设和定义开始:

我将DDD中的事件称为对您的域非常重要的事件,它已经发生(过去),是不可否认的事实,无法撤消。

在我的定义中,聚合或域服务负责发出事件。

所以你的一组事件看起来就像一个概念,它说一组相关的事件对我的领域也很重要。

我想你可以用两种方式来思考这个概念:

  1. 小组是对您已经发生的事件的特殊看法。然后,组只是一个组件,它的状态是从相关事件列表中派生出来的。
  2. 组是一种集合,它是一种具有生命周期的过程,在满足完成组的条件时,基于状态释放单个组事件。

在第一种情况下,您可以实现一个组查询,该查询侦听已发布的事件并将其投影到您的组概念中。

在第二种情况下,您有一个对业务请求作出反应的聚合(您可以将其称为命令)并管理某些持久状态。当您请求您的聚合来创建一个组,并且您的聚合处于正确的状态时,那么您的聚合就会发出一个组事件。

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

https://stackoverflow.com/questions/29367443

复制
相关文章

相似问题

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