依赖注入容器?它是做什么的
本文关键字:什么 注入 依赖 | 更新日期: 2023-09-27 18:13:38
我一直在阅读DI,它似乎是一个足够简单的概念。我不明白的是这个容器。比方说,我想创建自己的容器。像"detect"这样的动词被使用,我不明白容器是如何"检测"到一个新的依赖对象被创建并知道注入它的依赖的。在我看来,集装箱就像是一个美化了的工厂。
有谁能解释一下容器是如何实现的,或者给我指出一个资源吗?
谢谢!
摘自Windsor文档
控制反转
控制反转是框架使用的一种原理允许开发人员扩展框架或创建应用程序它。其基本思想是框架能够意识到程序员的行为对象,并对其进行调用。
这与使用API相反,在API中,开发人员的代码生成对API代码的调用。因此,框架颠倒了控制:它不是开发人员的代码,而是框架在起作用根据某种刺激发出呼叫。
你可能有过这样的经历这个原则的光芒,即使你没有意识到它。
控制反转容器
控制反转容器使用上述原则来(简而言之)管理班级。也就是说,它们的创造,毁灭,生存期、配置和依赖项。这样,类就不会需要获取和配置它们所依赖的类。这极大地减少了系统中的耦合,因此,简化重用性和可测试性。
有一些人认为"反转"造成了一些混乱"of Control"是"反转控制容器"的同义词。作为,控制反转是一个更广泛的原则。
通常人们认为这都是"注射",和广播这是IoC容器的主要目的。事实上,"注入"是一种结果,是解耦的一种手段,而不是主要原因目的。
你可能想读这本书。net中的依赖注入…我已经读过了,我强烈建议你读一下。它首先对DI给出了一个很好的和深刻的解释,然后展示了真实世界中DI应用的代码和模式。
从这本书中,简而言之……
"DI container is the technology used to support the DI technique" Page 55