Wir haben gerade Aurelia abgeholt. Zunächst einmal ist es großartig. Ich liebe es so weit zu benutzen. Es scheint sehr modular zu sein, was ich mag. Aber ich musste darüber nachdenken, WARUM sie DI benutzen. Was ist der Vorteil der Verwendung von DI? Ich weiß, dass es den Gebrauch von Singleton einfacher macht, aber gibt es einen anderen Grund?Gibt es noch einen anderen Grund, Abhängigkeitsinjektionen zu verwenden, um das Testen zu erleichtern?
Von dem, was ich verstehe (und ich könnte falsch sein), anstatt dies zu tun:
myObj = new myObj();
Sie dies tun:
@autoInject
export class myClass {
constructor(myObj) {
this.variable = myObj;
}
}
Also, ich kann nicht wirklich scheinen ein zu finden Vorteil, warum Menschen DI im Allgemeinen verwenden. Gibt es noch andere Gründe, von denen ich nichts weiß?
Siehe auch http://programmers.stackexchange.com/questions/19203/what-are-the-benefits-of-using-dependency-injection-and-ioc-containers. Die Frage fällt in ihrem gegenwärtigen Zustand in "zu breite" Kategorie und es gibt keine gute Antwort dafür. Die Gründe sind "architektonische Vorteile", das erklärt nicht viel, oder? Dies gilt nicht für Aurelia, sondern für jeden anderen Rahmen, der DI/IoC durchführt. – estus