控制反转是通过依赖注入实现的,其实就是同一个概念从不同的角度去描述。(IoC是设计思想,DI是实现方式)
DI—Dependency Injection,即依赖注入:组件之间依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个依赖关系注入到组件之中。依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不需要关心具体的资源来自何处,由谁实现。(来源网络)
深入分析
谁依赖于谁? 程序依赖IoC容器。 为什么需要依赖? 程序需要IoC容器提供对象所需要获取外部资源。 谁注入谁? IoC容器注入程序的某个对象,程序依赖的对象。 注入了什么? 注入某个对象所需要的外部资源(包括对象、资源、常量数据)。 IoC和DI由什么关系呢? 其实它们是同一个概念的不同角度描述,由于控制反转概念比较含糊(可能只是理解为容器控制对象这一个层面,很难让人想到谁来维护对象关系),所以2004年大师级人物Martin Fowler又给出了一个新的名字:“依赖注入”,相对IoC 而言,“依赖注入”明确描述了“被注入对象依赖IoC容器配置依赖对象”。通俗来说就是IoC是设计思想,DI是实现方式。(来源于网络)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。