dependency-injection - 应该在哪里(层)使用 DI?

标签 dependency-injection inversion-of-control

是否有任何层使用 DI 是不好的做法?在 previous question一位用户提到 DI 应该只用于 UI 层。

最佳答案

我认为您可能误解了 Daren Dimitrov 提供的答案.除非我弄错了,否则产生这个问题的那句话是:“此外,您不应该在应用程序的业务层中创建与 DI 框架的依赖关系。”

我相信他所说的是所有依赖信息/映射都应该在应用程序的最高级别创建。这并不是说应用程序的所有层都不会存在依赖关系,只是较低级别不负责设置映射。

如果我的解释是正确的,那么我同意他的观点 - 在您的应用程序表面设置您的依赖关系映射。相反,如果他说您永远不应该解决较低层中的依赖关系,那么我将不得不不同意。

关于dependency-injection - 应该在哪里(层)使用 DI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2946349/

相关文章:

java - 为什么多个实现不允许在 module-info.java 中声明为模块服务?

java - 如何在 Guice 中注入(inject)使用辅助注入(inject)创建的对象?

c# - 在存储库模式中使用通用接口(interface)

windows-8 - 在 Windows8 商店应用程序中在哪里注册类型 (IoC)?

c# - StructureMap IOC 命名实例帮助

c# - Autofac 委托(delegate)工厂,并传递容器

java - Spring注入(inject)、全局变量

c# - DependencyResolver 不解析依赖关系。为什么?

c# - 具有 EasynetQ 消息生命周期的简单注入(inject)器 Ioc DBContext

c# - 异步任务和简单注入(inject)器生命周期范围