控制反转是通过依赖注入实现的,其实就是同一个概念从不同的角度去描述。(IoC是设计思想,DI是实现方式

DI—Dependency Injection,即依赖注入:组件之间依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个依赖关系注入到组件之中。依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不需要关心具体的资源来自何处,由谁实现。(来源网络)

深入分析

谁依赖于谁?     
           程序依赖IoC容器。

为什么需要依赖?
           程序需要IoC容器提供对象所需要获取外部资源。

谁注入谁?
           IoC容器注入程序的某个对象,程序依赖的对象。

注入了什么?
           注入某个对象所需要的外部资源(包括对象、资源、常量数据)。

IoC和DI由什么关系呢?
           其实它们是同一个概念的不同角度描述,由于控制反转概念比较含糊(可能只是理解为容器控制对象这一个层面,很难让人想到谁来维护对象关系),所以2004年大师级人物Martin Fowler又给出了一个新的名字:“依赖注入”,相对IoC 而言,“依赖注入”明确描述了“被注入对象依赖IoC容器配置依赖对象”。通俗来说就是IoC是设计思想,DI是实现方式。(来源于网络)

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注