DDD实体多任务一个业务流程?

时间:2015-05-27 13:11:37

标签: domain-driven-design bpms

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

如果没有警报,此数据对业务没有任何意义,没有警报就无法存在。

但是,因为警报在业务流程中移动时会添加此附加数据,所以感觉就像是单独的"实体"。这可以防止单个Alert聚合根目录上的版本错误,因为多个人将他们的工作保存到业务流程。

问题: 即使这些依赖值对象在没有Alert的情况下真的没有任何意义,也不能独立存在,我应该根据业务流程模型的流程制作实体吗?

1 个答案:

答案 0 :(得分:2)

绝对。根据我的经验,交易分析是一个比任何类型的更好的设计顾问,如果没有Y" X就不可能存在。规则。如果存在许多争用的争议,那么一定要尝试识别和提取更频繁访问或独立访问的聚合的子部分,并使它们本身聚合以减轻主要对象的事务压力。 / p>