看了《ImplDDD》感觉又回到了原点,困惑!
1.ProductId, BacklogId 之类的“值对象”真的有必要存在,为什么?明明只是一些简单的id,非要变成各种所谓的VO,到底是为哪样?让UML看起来更像“聚合”?
2.“小聚合” 、“按id引用”,真的那么合理?发现很多讨论ddd的地方,一旦有Collection,“毫无疑问,你错了,他应该是一个独立聚合根,... ...”,为什么按这些指导思想,感觉最终回到了以table为单位来设计了?多对多关系怎么表达?
3.按照小聚合的思想,基本上一个聚合就一个Entity,其他所谓VO基本就是些xxxID,这样的聚合有什么意义?如果这样,抛弃聚合的概念,每个Entity不是照样可以维护一致性么?