依赖注入(DI)实现方式详解:构造函数、属性、接口注入
依赖注入 (DI) 是一种设计模式,用于实现松耦合的对象间关系。其核心思想是将对象间的依赖关系从代码中抽离出来,通过外部容器来提供依赖对象,从而实现对象间的解耦。
实现 DI 的方式一般有三种:
- 构造函数注入:通过将依赖对象作为构造函数的参数来实现。例如:
class A {
constructor(b) {
this.b = b;
}
}
class B {}
const b = new B();
const a = new A(b);
- 属性注入:通过将依赖对象作为属性来实现。例如:
class A {
set b(b) {
this._b = b;
}
}
class B {}
const b = new B();
const a = new A();
a.b = b;
- 接口注入:通过定义接口来规范依赖对象的类型,并将依赖对象注入到实现类中。例如:
interface IB {}
class B implements IB {}
class A {
constructor(b) {
this.b = b;
}
}
const b = new B();
const a = new A(b);
无论使用哪种方式实现 DI,最终目的都是为了将依赖对象的创建和管理交给外部容器,从而实现对象间的松耦合。
原文地址: https://www.cveoy.top/t/topic/mQ5f 著作权归作者所有。请勿转载和采集!