我建模存档这是一个视频点播系统的一部分。 想想归档类似于Windows资源管理多个用户可以创建文件夹,上传视频,重组文件夹等有业务规则(权限),它决定是否允许用户做任务(即重命名文件夹,移动文件夹,文件夹视图等)。
我已建模的每个文件夹作为一个聚集体根和一个文件夹移动到另一文件夹似乎影响2骨料根。
从我的理解是,我应该发送一个事件以修改其他聚合。 然而让我忧心忡忡是,如果第二个文件夹也进行了修改(比如删除或从系统中删除),那么我需要发送一个补偿命令撤消第一个总的变化。
我宁愿某种交易,随着移动(其他两个集合)一起交易,如果再失败,至少我不需要撤消移动的第一部分,或引发该事件的第一部分。
这使我,是我试图解决这个问题CQRS吧? 如果是的话它可能是我的聚集是错误的?