我的域名中有这两个结构:练习(有主题,解决方案,难度分机)和有名字和父亲主题的主题。主题是由其属性定义的,所以在这个意义上它是一个价值对象, 然而,即使我当前的数据存储没有与特定主题相关联,该主题存在仍然可能与域相关,因此它可以与任何事物无关 - 所以它是一个实体吗?
另一个问题是,我希望所有具有特定名称的现有主题是否建议使用SubjectRepository(只应聚合根有关联的存储库)?
答案 0 :(得分:1)
我见过关于Address类的类似DDD案例。
在域方面,属性是有趣的部分,而不是id。
然而,为了重新使用和编辑它们,它们需要是“实体”,没有业务ID /密钥,只有主要ID /密钥。
为了支持GUI中的流畅管理,Address被一个«集合根»与«存储库»。
你的案子听起来很相似。
答案 1 :(得分:0)
如果您需要更改主题并且您需要跟踪它,它应该是一个实体。在什么意义上,相关领域的主体的存在?如果您无法以合理的方式将主题纳入域中,则可能是您需要的服务。
至于你的第二个问题;是的,只有聚合根的存储库是明智的。