写这篇文章的原因是这两天在编写关于 Dagger2 主题的博文时,花了大量的精力来解释依赖注入这个概念。后来想一下,这些在面向对象开发过程中与依赖相关的诸多术语和概念实际情况下非常的抽象,因此独立成文也有就一定的意义,旨在帮助初学者快速地对这些概念有一个大致的印象,然后通过一些实例来领悟它们之中的内在奥秘。
什么是依赖(Dependency)?
依赖是一种关系,通俗来讲就是一种需要。
程序员需要电脑,因为没有电脑程序员就没有办法编写代码,所以说程序员依赖电脑,电脑被程序员依赖。
在面向对象编程中,代码可以这样编写。
class Coder {
Computer mComputer;
public Coder () {
mComputer = new Computer();
}
}
Coder 的内部持有 Computer 的引用,这就是依赖在编程世