依赖注入概论
前言依赖注入这个词,我是在前段时间玩Window Phone 7 时发现的。后来在Enterprise 5中也发现了,在Enterprise 5说是该模式的引用是重大改进。一直都比较忙,没有空有研究这个东西。它到底是什么东西,说白了,是一种设计模式。 什么是依赖注入“allows you to inject objects into a class,rather than relying on the class to create the object itself.” 简单的说,类A要使用类B的对象 :采用B的实例传入(注入)类A,而不是在类A中创建类B的对象。 使用这种方式,我们可以看出,A中使用类B不再依赖于显示创建(也就不依赖于B,从而达到松耦合的目的)。通常的实现方式:通常使用接口实现,让类A依赖于接口(B实现了该接口) 控制反转谈到依赖注入必然就会说到“控制反转”(Inversion of Control Containers),简单地说,“依赖关系的转移,表现在高层模块不应依赖于底层模块,而模块都必须依赖于抽象;实现必须依赖于抽象,而不是抽象依赖于实现;应用程序不应该依赖于容器,而容器应该服务于应用程序。” 不打算往下写 看了一篇东西,写得很到位。文章结构如下,清楚的讲了DI的产生背景与演进过程。我想现在只需要分享,暂时不往下写。文章目录结构如下:
原文地址:《依赖注入那些事儿》http://www.cnblogs.com/leoo2sk/archive/2009/06/17/1504693.html 附注: 1. 参考《Inversion of Control Containers and the Dependency Injection pattern》,Martin Fowler,23 January 2004. 2. 《Dependency Injection》 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |