建立时间跟踪应用程序我试图确定设计聚合根的最佳方式。DDD选择聚合根
基本核心实体是客户端,项目,员工,项目分配,部门,时间表。客户有一个或多个项目,一个项目有一个或多个员工分配给它(通过ProjectAssignment),一个员工属于一个部门,时间表将项目,员工链接在一起。
客户端看起来像一个明显的聚合根。
Client -> Project -> ProjectAssignment -> Employee
至于其他集合体我有点不知道什么是最好的方式去将...
我在想......
Department -> Employee -> Person
还是有员工和部门完全分开汇总。员工只能在一个部门和一个部门。然而,部门是自我参考来创建部门层次结构。
你如何处理在聚合根之间共享的实体?
很好的答案! DDD是否适用于长时间的业务处理引擎(一些运行几分钟/小时的复杂算法),用户交互只是少数输入?这是一个非“协作域”问题的例子吗? – Narayana