我有一个相当大的聚合根实体叫做Alert。创建警报时,会发生一些复杂的事情,因此它们会在业务流程模型中捕获并在BPM引擎中执行(例如,"Handle“流程)。有关于警报的各种数据集,可以由多个人独立地添加/更新,所有这些人都同时致力于解决警报(例如,BPMN进程中的并行用户任务)。
没有警报,这些数据对企业没有任何意义,没有警报就不可能存在。
但是,由于这个额外的数据是在Alert通过业务流程时添加的,所以它感觉像是单独的“实体”。这将防止单一警报聚合根上的版本错误,因为多个人将他们的工作保存到业务流程中。
问题:即使这些依赖的值对象在没有警报的情况下真的没有任何意义,并且不独立,我是否应该根据业务流程模型的流程使它们成为实体呢?
发布于 2015-05-27 16:07:20
绝对一点儿没错。在我的经验中,事务性分析比任何类型的"X没有Y“规则都更好的设计顾问。如果存在很多争议,那么一定要识别和提取更频繁访问或独立访问的聚合子部分,并使它们自己聚集起来,以减轻主对象上的事务压力。
https://stackoverflow.com/questions/30483516
复制相似问题