一、 依赖注入简介
依赖注入(英文Dependency Injection,简写DI)是一种被广泛使用的编程技术,主要的作用代码解耦。 借助依赖注入,我们可以轻松的管理类之间的依赖,并最终建立高可维护性和可扩展性的应用代码。
事实上,依赖注入并不是一项新技术,它在Java的Spring框架中早有应用,记得0x年上大学学习Spring框架的时候就听说了依赖注入,当时对依赖注入还不是很理解,对它的应用基本也不了解,不过在那个MVC大行其道的当时,Spring的出现可以说为大型项目带来了开天辟地的影响也不为过。
1.1 什么是依赖注入前面说过,依赖注入框架是帮助我们管理类之间的依赖关系的。比如,在某个应用中,Car 类需要引用Engine类,也即是说,Car 类依赖于拥有 Engine 类的一个实例才能运行。在依赖注入框架中,类之间的依赖主要有以下三个场景。
- 类构造其所需的依赖项。例如,在Car类中将建并初始化 Engine 实例。
- 从其他地方抓取。比如Android API,Context getter 和 getSystemService()等。
- 以参数形式提供。应用可以在构造类时提供这些依赖项,或者将这些依赖项传入需要各个依赖项的函数。
例如,下面是在不使用依赖项注入的情况下,Car类创建自己的 Engine类依赖项的示例代码。
class Car