【发布时间】:2018-08-16 06:59:10
【问题描述】:
A 类需要 B 类的实例。 我应该在 A 构造函数中创建 B 实例,还是在启动 A 类的位置创建实例并将实例传递给 A 构造函数?
A 计划:
class A { constructor() { this.b = new B(); } }
B计划:
const b = new B();
class A() {
constructor(b) {
this.b = b;
}
}
const a = new A(b);
【问题讨论】:
-
理想情况下,A 类应该在需要时在内部创建 B 类的实例。使用 A 类的代码不需要知道该类需要什么依赖
-
我会说计划 B,因为它对管理依赖注入很有用
-
plan B 很有帮助]
-
如前所述,这只是一个见仁见智的问题。我真的取决于这些类将如何使用。例如,
A的调用者传递除B之外的任何内容是否有用?他们是否需要与B互动? -
这个问题实际上无法正确回答,因为您所问的方法完全取决于上下文。
标签: javascript class ecmascript-6