【问题标题】:DDD entities to multi-task a business process?DDD实体多任务业务流程?
【发布时间】:2015-05-27 13:11:36
【问题描述】:

我有一个相当大的聚合根实体,称为 Alert。创建警报时,会发生一些复杂的事情,因此它们被捕获在业务流程模型中并在 BPM 引擎中执行(例如,“处理警报”流程)。有多种关于警报的数据集可以由多人同时解决警报独立添加/更新(例如,BPMN 流程中的并行用户任务)。

这些数据在没有警报的情况下对企业毫无意义,并且在没有警报的情况下也无法存在。

但是,由于此附加数据是在警报通过业务流程时添加的,因此感觉就像是单独的“实体”。由于多人将他们的工作保存到业务流程中,这也将防止单个 Alert 聚合根上的版本错误。

问题: 即使这些依赖值对象在没有 Alert 的情况下真的没有任何意义,并且不独立存在,我是否应该根据业务流程模型的流程将它们设为实体?

【问题讨论】:

    标签: domain-driven-design business-process-management


    【解决方案1】:

    当然。根据我的经验,事务分析是比任何“没有 Y 就不能存在 X”规则更好的设计顾问。如果存在大量争用,请务必尝试识别和提取聚合中更频繁访问或独立访问的子部分,并让它们自行聚合以缓解主要对象的事务压力。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-27
      • 2013-11-26
      • 2011-01-23
      • 2018-09-29
      • 2017-05-13
      • 2018-07-25
      • 2011-01-10
      • 2010-11-21
      相关资源
      最近更新 更多