关于事件来源:CQRS:我的总根在哪里?

CQRS : Where are my aggregate roots?

我有一个公交运营商和运输产品的后台配置系统(目前面向CRUD)。
我需要执行审计并跟踪所有配置参数的历史记录。
我认为CQRS方法可以满足我的需求。但是我不知道如何为我的域建模?
如何识别我的根聚集体?

该系统允许运输网络管理员定义可销售运输产品的列表。
该系统允许运输网络管理员定义将在其产品运输中出售的媒体的特征(卡,证章,票证和设计...)。
网络可以授予在其他运营商上销售或验证其各自产品的权利。
网络由一个或多个在其总线上销售产品或进行网络传输的运营商运营。
操作员必须管理其设备/机器(总线,avm)。
操作员还确定应发送到特定设备软件的产品列表。

当操作员配置了要发送到设备的参数列表后,他开始进行一个可在FTP站点上使用的过程,其中描述了所进行的设置/配置的各种文件
由运营商和其他网络管理员(在网络之间销售产品和/或验证的权利列表...)。

系统必须允许审核所有更改并在服务器TEST上转置设置。

我想我有:
-产品集合根:具有其属性,价格等...但是由于其他集合可以引用某个产品,例如当从产品目录中逐出产品时,我该如何处理更改?
-每个用例都有一个整合根?

就像我说我不确定:
-如果CQRS方法真的合适吗?
-如果是,我如何指定聚合?


哇,这是一个大问题。 我认为CQRS和事件源非常适合,尤其是在您需要审核日志的情况下。 但是,您可以通过CRUD进行事件源。 我在博客上有一个示例,您可以在此处找到100%可证明的审计日志吗? –提示,使用事件源,我将向您展示如何

找到集合体是过程和艺术形式的一部分。 聚合的作用是封装"有界上下文"并确保不变量得到维护。 您可以使用不变量来帮助您找到集合。 不知道您的域的详细信息,很难建议存在哪些聚合。 我在这里的博客上再次详细介绍了如何构建聚合(一旦您弄清了它们应该封装的内容)。 希望对您有所帮助!