是否有任何经验法则何时应将责任分配给服务对象而不是实体对象?我真的很困惑。
答案 0 :(得分:3)
我认为这里没有经验法则。完成课程的职责是设计OO软件的技能。
那就是说,你的班级设计应该给你一些提示。例如,如果您计划将方法创建为实体的一部分,但该方法需要的数据不是实体的一部分,则表明该方法在实体上方运行,可能是域服务
答案 1 :(得分:0)
据我所知,域驱动设计,实体对象是一些复杂数据的表示。很可能他们没有任何业务逻辑。
因此,如果您正在考虑仅持有数据的责任,那么它将进入实体对象。服务对象是在给定的值或实体对象上使用提供的上下文负责复杂逻辑的人。
答案 2 :(得分:0)
当您需要在多个聚合根上运行时,请使用域服务。