2016-07-06 45 views
0

我們剛剛拿起Aurelia。首先,這很好。我很喜歡使用它。它似乎是非常模塊化的,我喜歡。但我想到了爲什麼他們使用DI。使用DI的優點是什麼?我知道它似乎使單身人士更容易使用,但是還有其他原因嗎?除了幫助測試之外,還有其他什麼原因使用依賴注入嗎?

從我瞭解(我可能是錯的),而不是做這樣的:

myObj = new myObj(); 

你這樣做:

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

所以,我不是真的似乎可以找到一個一般人們爲什麼會使用DI的優勢。還有其他什麼原因,我不知道?

+0

另請參閱http://programmers.stackexchange.com/questions/19203/what-are-the-benefits-of-using-dependency-injection-and-ioc-containers。這個問題在當前狀態下屬於「過於寬泛」的範疇,並且沒有很好的答案。原因是「建築效益」,這並不能解釋很多,是嗎?這不適用於Aurelia,尤其不適用於DI/IoC的任何其他框架。 – estus

回答

0

正如評論所述,這是一個非常廣泛的問題。但也有由傑里米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是框架或庫控制自定義代碼的模式,而不是使用框架或庫的自定義代碼。閱讀更多文章。希望有所幫助。

相關問題