依赖注入Dependency Injection 实现 控制反转Inversion of Control

控制反转:依赖关系的转移,表现在高层模块不应依赖于底层模块,而模块都必须依赖于抽象;实现必须依赖于抽象,而不是抽象依赖于实现;应用程序不应该依赖于容器,而容器应该服务于应用程序。

依赖注入:保留抽象接口,让组件依赖于抽象接口,当组件要与其他实际的对象发生依赖关系时,由抽象接口来注入依赖的实际对象。

依赖注入实现控制反转的三种方法:Interface injection、Setter injection、Constructor injection. Interface injection 需要程序和容器实现接口,使程序依赖于容器的接口,此种注入方式使用少,Setter injection 有明确的方法名称用于了解注入对象的作用和类型;Constructor injection 在创建对象的使用就可以完成对象的注入,但当注入的的对象较多时,会有较长的参数。

相关文章

什么是设计模式一套被反复使用、多数人知晓的、经过分类编目...
单一职责原则定义(Single Responsibility Principle,SRP)...
动态代理和CGLib代理分不清吗,看看这篇文章,写的非常好,强...
适配器模式将一个类的接口转换成客户期望的另一个接口,使得...
策略模式定义了一系列算法族,并封装在类中,它们之间可以互...
设计模式讲的是如何编写可扩展、可维护、可读的高质量代码,...