如果你有一个领域对象,并且你想要做一些有用的和中心的领域对象的责任,如确保它是有效的,你有时需要访问相关对象的状态以执行此验证。如何避免贫血的领域层,并仍然有丰富的验证和业务规则
如何避免域对象需要调用到存储库或数据访问层?由于性能的原因,即使使用延迟加载,您也无法始终采用集合关系,而且您经常希望在域对象中执行查询。您可以将存储库实现依赖注入到域中,但不是真正纯粹且复杂的测试。
我总是放松一些事情,并允许使用DI从域访问存储库。我没有看到如何在复杂的应用程序中创建“纯”域图层的清晰示例,该应用程序并不贫乏,并且服务/应用程序层做了所有的咕噜声并且弄乱了应该成为域对象内部的东西。
注入到实体是保持域层解耦的主要思想。在实体中注入存储库是最佳选择。你的专业服务是什么意思?仅当命令的上下文跨越多个实体时才使用域服务。不应该有专门的实体服务。 “ - (2x减)” – Tudor 2012-10-04 23:08:55