【发布时间】:2022-01-17 06:30:09
【问题描述】:
我很难理解为什么违反规则是不好的))
import {DepClass} from './di-import' // <- some dependency imports here
class DI1 {
dep1: DepClass
constructor(){
this.dep1 = new DepClass() // <- bad
}
......
}
class DI2 {
dep2: DepClass
constructor(d: DepClass){ // <- slightly better
this.dep2 = d
}
......
}
所以,我知道,该类不应该自己创建其依赖项的实例,IoC 规则中断。但到底发生了什么可怕的事情?开销会发生什么?
“内联”在构造函数中创建依赖项实例和将现有依赖项的副本作为参数传递给构造函数之间的工作区别是什么?除了两个类都工作正常之外))
想一想。也许,所有这些只是 DI 容器正常工作所需要的,它会仔细查看构造函数参数。
提前致谢
【问题讨论】:
标签: typescript dependency-injection