我特别指的是这个问题:
DDD – How to implement factories
DDD – How to implement factories
选定的答案说明:
“工厂不应该依赖于依赖注入,因为域对象不应该将依赖注入其中.”
我的问题是:无法向您的实体注入依赖项的原因是什么?或者我只是误解了这个陈述?有人可以澄清一下吗?
域对象不是工厂,回购等.它们只是实体,值对象,域服务和聚合根.也就是说,它们必须是封装业务域使用的数据,它们之间的关系以及域可以对该数据执行的行为(读取修改)的类.
原文链接:https://www.f2er.com/javaschema/282022.html存储库是一种抽象出您正在使用的持久性基础架构的模式.它在DDD中,因为它使您的应用程序与数据库分离,但并非所有DDD应用程序都需要甚至应该使用存储库.
Factory是一种隔离对象构造逻辑的模式.这也是DDD推荐的一个好习惯,但在所有情况下都不是真正需要的.
域对象不应该依赖于其他任何东西,因为它们是您应用的核心.一切都取决于他们.因此,保持它们不受其他依赖关系的影响会产生明确的单向依赖关系链,并减少依赖关系图.它们是不变量,模型,基础.改变它们,你可能需要改变很多东西.所以改变其他事情不应该迫使他们改变.