原文:http://www.cnblogs.com/xdp-gacl/p/4249939.html
1.1、IoC是什么
Ioc—Inversion of Control,即“控制反转”,一种设计思想。如何理解IOC呢?
●传统程序设计直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象(正转);
而反转则是将本由自身控制的对象初始化交由外部IoC容器进行;即由Ioc容器来控制依赖对象的创建和注入;
1.2、IoC和DI
DI—Dependency Injection,即“依赖注入”:动态的向某个对象提供它所需要的其他对象。
理解DI的关键是下面几点:
●谁注入谁:IoC容器注入应用程序某个对象;
●注入了什么:注入某个对象所需要的外部资源(包括对象、资源、常量数据)。
IoC和DI由什么关系呢?其实它们是同一个概念的不同角度描述。
1.3 总结
控制反转IoC是说创建对象的控制权进行转移,以前创建对象的主动权和创建时机是由自己把控的,而现在这种权力转移到第三方,比如转移交给了IoC容器
DI(依赖注入)其实就是IOC的另外一种说法。