Als «dependency-injection» getaggte Fragen

Abhängigkeitsinjektion ist ein Entwurfsmuster, bei dem Abhängigkeiten (Instanzen von Objekten, Eigenschaften) einer Komponente über den / die Konstruktor (en), Methoden oder Felder (Eigenschaften) festgelegt werden. Es ist eine spezielle Form der allgemeineren Abhängigkeitsinversion.


2
Verschieben Sie die Codebasis schrittweise in den Abhängigkeitsinjektionscontainer
Ich habe eine große Codebasis mit vielen "Anti-Pattern" -Singletons, Dienstprogrammklassen mit statischen Methoden und Klassen, die ihre eigenen Abhängigkeiten mithilfe von newSchlüsselwörtern erstellen . Es macht es sehr schwierig, einen Code zu testen. Ich möchte Code schrittweise in den Abhängigkeitsinjektionscontainer migrieren (in meinem Fall Guice, weil es sich um ein …

2
Schließt die Serialisierung die Verwendung der Abhängigkeitsinjektion aus?
Einfache Frage: Ich verstehe, dass für die Serialisierung in C # Standardkonstruktoren erforderlich sind. Dies würde die Möglichkeit der Verwendung von Konstruktor-injiziertem DI ausschließen (was in meiner Lektüre im Allgemeinen der bevorzugte DI-Stil ist [Zitieren erforderlich] ). Ist es also wirklich eine Entweder-Oder-Situation oder fehlt mir etwas? (Nebenfrage): Gehen IoC-Container …


3
Ein MVC-Modell lose mit der DB verbunden halten?
Ich halte meinen Code gerne testbar und habe mich für die Dependency-Injection-Strategie für mein aktuelles MVC-Framework entschieden, die sich definitiv als eine großartige Möglichkeit erwiesen hat, lose gekoppelten Code, Testbarkeit und Modularität sicherzustellen. Da ich jedoch weit davon entfernt bin, ein Meister in Designmustern zu sein, fällt es mir schwer, …

2
Drängt die Abhängigkeitsinjektion die Testlast nicht weiter in die Kette?
Ich lerne etwas über Abhängigkeitsinjektion und obwohl ich beim Schreiben von Funktionsbibliotheken den Reiz davon sehe, kann ich nicht erkennen, wie es irgendetwas löst, wenn Sie auch derjenige sind, der die Bibliotheken verwendet. Dies vereinfacht das Testen der Bibliothek erheblich, da nicht viel getestet werden muss. Sie müssen jedoch eventuell …




4
Die Abhängigkeitsinversion erweitert die API und führt zu unnötigen Tests
Diese Frage hat mich einige Tage lang beschäftigt, und es scheint, als würden sich mehrere Praktiken widersprechen. Beispiel Iteration 1 public class FooDao : IFooDao { private IFooConnection fooConnection; private IBarConnection barConnection; public FooDao(IFooConnection fooConnection, IBarConnection barConnection) { this.fooConnection = fooConnection; this.barConnection = barConnection; } public Foo GetFoo(int id) { …



2
Unit Tests, Fabriken und das Gesetz von Demeter
So funktioniert mein Code. Ich habe ein Objekt, das den aktuellen Status einer Warenkorbbestellung darstellt und in einer Einkaufs-API eines Drittanbieters gespeichert ist. In meinem Controller-Code möchte ich Folgendes aufrufen können: myOrder.updateQuantity(2); Um die Nachricht tatsächlich an den Dritten zu senden, muss der Dritte auch einige Dinge wissen, die für …

4
Akzeptable Platzierung der Zusammensetzungswurzel unter Verwendung von Abhängigkeitsinjektion (DI) und Inversion von Kontrollbehältern (IoC)
Ich habe in mehreren Quellen gelesen, darunter in Mark Seemanns 'Ploeh'-Blog, wie die richtige Platzierung des Kompositionsstamms eines IoC-Containers so nah wie möglich am Einstiegspunkt einer Anwendung liegt. In der .NET-Welt werden diese Anwendungen häufig als Webprojekte, WPF-Projekte, Konsolenanwendungen und Dinge mit einer typischen Benutzeroberfläche (sprich: keine Bibliotheksprojekte) angesehen. Verstößt …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.