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

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

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

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

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...