控制反转:依赖关系的转移,表现在高层模块不应依赖于底层模块,而模块都必须依赖于抽象;实现必须依赖于抽象,而不是抽象依赖于实现;应用程序不应该依赖于容器,而容器应该服务于应用程序。
依赖注入:保留抽象接口,让组件依赖于抽象接口,当组件要与其他实际的对象发生依赖关系时,由抽象接口来注入依赖的实际对象。
依赖注入实现控制反转的三种方法:Interface injection、Setter injection、Constructor injection. Interface injection 需要程序和容器实现接口,使程序依赖于容器的接口,此种注入方式使用少,Setter injection 有明确的方法名称用于了解注入对象的作用和类型;Constructor injection 在创建对象的使用就可以完成对象的注入,但当注入的的对象较多时,会有较长的参数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。