IoC( Inversion of Control ,控制反转) 是很多轻量级容器广泛使用的模式,其中比较著名的就有Spring,HiveMine,PicoContainer等.IoC的来龙去脉
Matin Fowler 作了比较详细的描述,而且为IoC另外取了个名字,Dependence Injection(DI, 依赖注入),使其更加名副其实.
王咏武 也在文章中对与IoC相关的几个概念作了深入的阐述.
DI有三种形式,依次是Type 1(接口注入),Type 2(设值方法注入) 和 Type 3(构造子注入).PicoContainer使用的是Type 3,也就是构造子注入.Spring使用的是Type 2,设值方法注入,而Avalon使用的就是接口注入.现在的容器大多都会同时实现Type 2和Type 3.无论使用哪种形式的IoC,目标都是相同的,那就是减少程序中组件的相互依赖,使它们能够更加灵活的组合成一个有机整体.它们之间的相互联系可以通过配置的方式进行设定,而不是使用硬编码的形式
DI有三种形式,依次是Type 1(接口注入),Type 2(设值方法注入) 和 Type 3(构造子注入).PicoContainer使用的是Type 3,也就是构造子注入.Spring使用的是Type 2,设值方法注入,而Avalon使用的就是接口注入.现在的容器大多都会同时实现Type 2和Type 3.无论使用哪种形式的IoC,目标都是相同的,那就是减少程序中组件的相互依赖,使它们能够更加灵活的组合成一个有机整体.它们之间的相互联系可以通过配置的方式进行设定,而不是使用硬编码的形式