除了帮助测试之外,还有其他理由使用依赖注入吗?

时间:2016-07-06 21:12:34

标签: dependency-injection aurelia

我们刚拿起Aurelia。首先,它很棒。我喜欢到目前为止使用它。它看起来非常模块化,我喜欢它。但我想到为什么他们使用DI。使用DI的优势是什么?我知道它似乎使单身人士的使用更容易,但还有其他原因吗?

根据我的理解(我可能是错的),而不是这样做:

myObj = new myObj();

你这样做:

@autoInject
export class myClass {
     constructor(myObj) {
          this.variable = myObj;
     }
}

所以,我似乎无法找到人们为什么一般使用DI的优势。还有其他我不了解的原因吗?

1 个答案:

答案 0 :(得分:0)

正如评论中所述,这是一个非常广泛的问题。但是Jeremy Danyow提供了一些很好的答案:

https://www.danyow.net/inversion-of-control-with-aurelia-part-1/ https://www.danyow.net/inversion-of-control-with-aurelia-part-2/

在高层次上,Aurelia采用了IoC范式 - 控制反转 - 其中DI是反转控制的机制。 IoC是一种模式,其中框架或库控制自定义代码,而不是使用框架或库的自定义代码。阅读文章了解更多信息。希望有所帮助。