我一直在寻找在域驱动设计中使用 IoC 容器的指南。不幸的是,埃文的书没有触及这个主题。我在互联网上能找到的唯一实质性指导方针是.
马洛维奇的许多观点都是常识,但我对其中的一些观点感到担忧。他建议 IoC 容器应该仅用于解析服务,并且使用 IoC 容器来解析域依赖关系不是一个好主意。然而,他没有用任何例子来支持这一说法。他简单地陈述了事实。
然后他接着说,混合使用 IoC 容器和工厂是没有意义的。这似乎与他的第一点相矛盾。事实上,如果 IoC 容器不应该解决域依赖关系,那么应该如何解决它们?埃文的书明确指出工厂是合乎逻辑的选择。
如果您就此事提供任何意见,我将不胜感激。对于 DDD 和 IoC 我都是新手。我正在努力理解 IoC 和 DDD 如何协同工作。
在我看来,他关于在域模型中不使用 IoC 容器的观点是正确的。我自己也遵循这种做法。基本思想是服务可能包含基础设施依赖项,因此模拟它们是明智的。领域实体没有这些,因此模拟它们并不重要(仍然对接口进行编码是很好的做法)。
领域实体的工厂不应该位于 IoC 容器中,但服务的工厂应该位于 IoC 容器中。基本上,您可以在服务中引用实体工厂。耦合不是很紧密。
有关 IoC 的好读物可以在以下位置找到:Billy McCafferty 的博客文章“依赖注入 101” http://devlicio.us/blogs/billy_mccafferty/archive/2009/11/09/dependency-injection-101.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)