知识卡片

依赖注入的三种传递方式

普通读书笔记卡 · 1970.f.1.c

内容

建立[[依赖倒置原则的三层含义与Java体现]]的抽象依赖后,具体对象传递方式有三种:构造函数 注入(创建时绑定,适合依赖不变的场景)、Setter注入(允许创建后再赋值或运行期替换)、 接口注入(每次调用可传不同实现)。三者本质相同——都是把”依赖谁”的决定权从类内部移交给 外部。发散:这三种方式后来被Spring等DI容器统一实现为标准机制。

参考来源

- 位置:《设计模式之禅(第2版)》第3章《依赖倒置原则》(源文件:_epub-src/text/part0013.html) - 结论依据:原文分别给出构造函数传递、Setter方法传递、接口声明依赖对象三种代码示例,并逐一命名为"构造函数注入""Setter依赖注入""接口注入",说明这是对象依赖关系传递的三种方式。 - 原始内容:在类中通过构造函数声明依赖对象,按照依赖注入的说法,这种方式叫做构造函数注入……在抽象中设置Setter方法声明依赖关系,依照依赖注入的说法,这是Setter依赖注入……在接口的方法中声明依赖对象……该方法也叫做接口注入。