Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
ChatGPT
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
GitHub工具
更多话题
简单粗暴的判定聚合根原则——身首原则。以文档审核为例
14-07-04
showerxp
需求:
1、创建人创建一个文档。
2、创建人指定本单位同事为核稿人。可以为多人核稿。创建人本身也是核稿人。
3、核稿人对文档核稿,并通知其他核稿人。
4、创建人可以决定本文档是否共享给单位其他人查看。
5、核稿完毕后,创建人归档,终止核稿,其他核稿人将不能再修改。
这里,确定聚合根就一个简单、粗暴的原则——身首原则。上图中,没有文档类,就没有什么审核人、审核日志了,所以文档类是聚合根。
鄙人以为,确定聚合根如果考虑太多因素反倒是容易混乱。而已身首原则简单明了,通过实际验证,往往简单却有效。
xianghx
2014-07-08 15:05
聚合是核稿,日志是结果。
role 是核稿人。
thing 是 document
showerxp
2014-07-11 00:01
你的想法有点意思。
不过,核稿只是个瞬间动词,作为聚合跟?那文档类放在什么地方?其实,看看我写的需求,一个文档也可以不核稿,而是处于归档状态。
不知道你能否在具体一些把类图画出来。
另外,鄙人认为,如果走四色建模,很大的问题是:将某个瞬间发生的事情作为研究的切片,而忽略了抽象——这一建模的重要思想,所以得不偿失。除非,还是抽象后在四色。
DDD聚合