IoC(Inversion of Control,反转控制)或DI(Dependency Injection,依赖注入)
IoC 又称DI(Dependency Injection,依赖注入),IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。2004年,Martin Fowler在他的网站上发表了《Inversion of Control Containers and the Dependency Injection pattern》文章(网址:http://martinfowler.com/articles/injection.html),在文章中解释了IoC和DI(Dependency injection,依赖注入)的原则和思想。
IOC有几种实现的类型,包括:
基于方法参数调用的Method-based (M) IoC,它把组件传递给每个方法调用;
基于接口的Interface-based (I) IoC(通常称为类型1),它使用接口来声明组件之间的依赖性,例如,Serviceable, Configurable;
基于Setter方法的Setter-based (S) IoC(通常称为类型2),它使用setter方法来设置组件之间的依赖性;
基于构造函数的Constructor-based (C) IoC(通常称为类型3)。
IOC有几种实现的类型,包括:
基于方法参数调用的Method-based (M) IoC,它把组件传递给每个方法调用;
基于接口的Interface-based (I) IoC(通常称为类型1),它使用接口来声明组件之间的依赖性,例如,Serviceable, Configurable;
基于Setter方法的Setter-based (S) IoC(通常称为类型2),它使用setter方法来设置组件之间的依赖性;
基于构造函数的Constructor-based (C) IoC(通常称为类型3)。