我正在考虑在没有事件存储的系统中采用领域驱动设计中(根)聚合的概念。然而,我发现更多关于两者的信息后,感觉它们相互依存,缺一不可。
我还没有读完蓝皮书,但到目前为止,我对根聚合的理解是它是聚合的“树”,需要在该根聚合内保持一致。一个聚合只能通过它所属的根聚合来修改。最后,一个根基本上可以通过“在这个领域中独立存在并且可以单独存在”的定义来定义。
想象一下一个全新的项目,在这个项目中,还没有必要使用事件源码,但未来可能会受益于它。缺少事件存储将消除跟踪特定时间点上形成根聚合的所有领域事件的可能性。命令将不得不改变根聚合。此外,由于无法重放事件,读取端将受限于“根聚合{id}已更新”的反应。
根据以上情况,有没有合理的方法让(根)聚合的概念在没有事件存储的情况下存在,或者应当坚持“传统”的实体建模直到投资于事件源码有意义?
我还没有读完蓝皮书,但到目前为止,我对根聚合的理解是它是聚合的“树”,需要在该根聚合内保持一致。一个聚合只能通过它所属的根聚合来修改。最后,一个根基本上可以通过“在这个领域中独立存在并且可以单独存在”的定义来定义。
想象一下一个全新的项目,在这个项目中,还没有必要使用事件源码,但未来可能会受益于它。缺少事件存储将消除跟踪特定时间点上形成根聚合的所有领域事件的可能性。命令将不得不改变根聚合。此外,由于无法重放事件,读取端将受限于“根聚合{id}已更新”的反应。
根据以上情况,有没有合理的方法让(根)聚合的概念在没有事件存储的情况下存在,或者应当坚持“传统”的实体建模直到投资于事件源码有意义?