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

14-07-04 showerxp
需求:

1、创建人创建一个文档。

2、创建人指定本单位同事为核稿人。可以为多人核稿。创建人本身也是核稿人。

3、核稿人对文档核稿,并通知其他核稿人。

4、创建人可以决定本文档是否共享给单位其他人查看。

5、核稿完毕后,创建人归档,终止核稿,其他核稿人将不能再修改。


这里,确定聚合根就一个简单、粗暴的原则——身首原则。上图中,没有文档类,就没有什么审核人、审核日志了,所以文档类是聚合根。

鄙人以为,确定聚合根如果考虑太多因素反倒是容易混乱。而已身首原则简单明了,通过实际验证,往往简单却有效。

xianghx
2014-07-08 15:05
聚合是核稿,日志是结果。

role 是核稿人。

thing 是 document

showerxp
2014-07-11 00:01
你的想法有点意思。

不过,核稿只是个瞬间动词,作为聚合跟?那文档类放在什么地方?其实,看看我写的需求,一个文档也可以不核稿,而是处于归档状态。

不知道你能否在具体一些把类图画出来。

另外,鄙人认为,如果走四色建模,很大的问题是:将某个瞬间发生的事情作为研究的切片,而忽略了抽象——这一建模的重要思想,所以得不偿失。除非,还是抽象后在四色。

猜你喜欢