简单粗暴的判定聚合根原则——身首原则。以文档审核为例

需求:
1、创建人创建一个文档。
2、创建人指定本单位同事为核稿人。可以为多人核稿。创建人本身也是核稿人。
3、核稿人对文档核稿,并通知其他核稿人。
4、创建人可以决定本文档是否共享给单位其他人查看。
5、核稿完毕后,创建人归档,终止核稿,其他核稿人将不能再修改。



这里,确定聚合根就一个简单、粗暴的原则——身首原则。上图中,没有文档类,就没有什么审核人、审核日志了,所以文档类是聚合根。
鄙人以为,确定聚合根如果考虑太多因素反倒是容易混乱。而已身首原则简单明了,通过实际验证,往往简单却有效。

聚合是核稿,日志是结果。
role 是核稿人。
thing 是 document

你的想法有点意思。
不过,核稿只是个瞬间动词,作为聚合跟?那文档类放在什么地方?其实,看看我写的需求,一个文档也可以不核稿,而是处于归档状态。
不知道你能否在具体一些把类图画出来。
另外,鄙人认为,如果走四色建模,很大的问题是:将某个瞬间发生的事情作为研究的切片,而忽略了抽象——这一建模的重要思想,所以得不偿失。除非,还是抽象后在四色。