依赖注入
依赖
某个对象在程序运行时需要使用一些外部资源,即该对象和这些外部资源存在依赖关系。
依赖倒置原则 Dependence Inversion Principle
程序要依赖于抽象接口,不要依赖于具体实现。
核心是面向抽象(抽象类或接口)编程
控制反转 Inversion of Control IoC
IoC容器负责控制对象的生命周期和对象之间的关系
控制对象生存周期的不再是应用它的对象,而是IoC容器。
对于某个具体的对象而言,本应是它控制它所依赖的对象,现在却统一由IoC容器控制,这种情形就是控制反转。
依赖注入 Dependency Injection DI
被注入对象 依赖 IoC容器 配置 其依赖对象
容器动态地将某个依赖关系注入到组件之中 便于组件重用
“谁依赖谁,为什么需要依赖,谁注入谁,注入了什么”
谁依赖谁:应用程序依赖于IoC容器
为什么需要依赖:应用程序需要IoC容器提供对象需要的外部资源
谁注入谁:IoC容器注入应用程序 某个对象(应用程序依赖的对象)
注入了什么:注入某个对象所需要的外部资源