如何处理将依赖项注入富域模型?

Arn*_*sch 7 java aop domain-driven-design inversion-of-control

在具有丰富域模型的Web服务器项目中(应用程序逻辑在模型中,而不是在服务中)如何处理将依赖项注入模型对象?你有什么经历?

你使用某种形式的AOP吗?喜欢Springs @Configurable注释?加载时间还是构建时间?你遇到的问题?

你用手动注射吗?那你如何处理不同的实例化场景(通过库创建对象[如Hibernate],用"new"创建对象......)?

或者您是否使用其他方式注入依赖项?

Pål*_*ver 3

为了保持域对象干净,我避免在实体/聚合/值对象上使用注入,而是在需要时将它们放入服务或存储库中。

为此,我们使用普通的 Spring 构造函数注入来简化测试。

如果您需要向实体中注入一些东西,一个建议可能是编写一个构建器或工厂,然后在那里注入您需要的东西。