IoC或者DI的核心思想在于提供一个更加简单的机制来规定组件之间的依赖关系(一般涉及到对象间的合作),并且在它们生命周期中对依赖关系进行管理。一个需要特定的依赖的组件一般会涉及到一个依赖对象,在IoC的概念中叫做目标(target)。这是很主要的说明,IoC提供了这样的服务,使一个组件能够在它的整个生命周期中访问它的关联和服务,用这种方法与它的依赖进行交互。总的来说,IoC能够被分解为两种子类型:依赖注入和依赖查找。这两种子类型在具体实现IoC服务的时候被进一步分解。从这个定义上,你能够清晰的看到当我们谈及DI的时候总要说IoC,但是当我们说到IoC的时候我们却不一定会说到DI。