Als «ioc-containers» getaggte Fragen

5
Was ist der Unterschied zwischen der Abhängigkeitsinjektion mit einem Container und der Verwendung eines Service-Locators?
Ich verstehe, dass das direkte Instanziieren von Abhängigkeiten innerhalb einer Klasse als schlechte Praxis angesehen wird. Dies ist sinnvoll, da alles so eng miteinander verbunden ist, was wiederum das Testen sehr schwierig macht. Fast alle Frameworks, auf die ich gestoßen bin, scheinen die Abhängigkeitsinjektion mit einem Container der Verwendung von …

7
Warum heißt Inversion of Control so?
Die Wörter invertoder controlwerden überhaupt nicht verwendet, um Inversion of Control in den Definitionen zu definieren, die ich gesehen habe. Definitionen Wikipedia Inversion of Control (IoC) ist eine Programmiertechnik, die hier als objektorientierte Programmierung ausgedrückt wird. Dabei wird die Objektkopplung zur Laufzeit durch ein Assembler-Objekt gebunden und ist zur Kompilierungszeit …


2
Gibt es Belege dafür, dass die Verwendung von Dependency Injection die Ergebnisse im Software-Engineering verbessert?
Gibt es trotz seiner Beliebtheit empirische Belege dafür, dass Dependency Injection (und / oder die Verwendung eines DI-Containers) beispielsweise bei der Reduzierung der Fehleranzahl, der Verbesserung der Wartbarkeit oder der Erhöhung der Entwicklungsgeschwindigkeit bei echten Softwareprojekten hilft?

1
Praktiken der Abhängigkeitsinjektion / IoC-Container beim Schreiben von Frameworks
Ich habe verschiedene IoC-Container (Castle.Windsor, Autofac, MEF usw.) für .Net in einer Reihe von Projekten verwendet. Ich habe festgestellt, dass sie häufig missbraucht werden und eine Reihe von schlechten Praktiken fördern. Gibt es etablierte Praktiken für die Verwendung von IoC-Containern, insbesondere bei der Bereitstellung einer Plattform / eines Frameworks? Mein …

3
Verkaufen Sie mich bitte auf IoC-Containern
Ich habe mehrere empfohlene Verwendung von IoC-Containern im Code gesehen. Die Motivation ist einfach. Nehmen Sie den folgenden in Abhängigkeit injizierten Code: class UnitUnderTest { std::auto_ptr<Dependency> d_; public: UnitUnderTest( std::auto_ptr<Dependency> d = std::auto_ptr<Dependency>(new ConcreteDependency) ) : d_(d) { } }; TEST(UnitUnderTest, Example) { std::auto_ptr<Dependency> dep(new MockDependency); UnitUnderTest uut(dep); //Test here …

3
Ich erhalte eine Abhängigkeitsinjektion, aber kann mir jemand helfen, die Notwendigkeit eines IoC-Containers zu verstehen?
Ich entschuldige mich, wenn dies wie eine weitere Wiederholung der Frage erscheint, aber jedes Mal, wenn ich einen Artikel zum Thema finde, wird meist nur darüber gesprochen, was DI ist. Also, ich bekomme DI, aber ich versuche zu verstehen, dass ein IoC-Container benötigt wird, in den sich offenbar jeder hineinzuversetzen …

6
Frage eines der Argumente für Abhängigkeitsinjektions-Frameworks: Warum ist das Erstellen eines Objektgraphen schwierig?
Abhängigkeitsinjektionsframeworks wie Google Guice geben die folgende Motivation für ihre Verwendung ( Quelle ): Um ein Objekt zu erstellen, erstellen Sie zuerst seine Abhängigkeiten. Aber um jede Abhängigkeit aufzubauen, benötigen Sie ihre Abhängigkeiten und so weiter. Wenn Sie also ein Objekt erstellen, müssen Sie wirklich ein Objektdiagramm erstellen. Das Erstellen …


3
DI / IoC-Container gegen Fabriken: Wo konfiguriere ich meine Anwendung und warum?
Ich versuche herauszufinden, wann die DIC / IoC-Registrierung für die Konfiguration meiner Software und wann Fabriken verwendet werden sollen, zusammen mit den Gründen für beide Ansätze. Ich verwende StructureMap als meinen DI-Container (DIC), der mithilfe von Registern einfach zu konfigurieren ist. In der DIC sind praktisch alle registrierten Objekte statisch …

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 …

3
IOC und staatenlose Dienste. Kurzlebig oder Einzelinstanz?
Angesichts eines Garbage-Collected-Frameworks ist es bei Verwendung eines IOC-Containers zum Injizieren von rein zustandslosen Diensten im Allgemeinen besser, die Lebensdauer einer einzelnen Instanz des Containers zu verwenden oder das Objekt bei jeder Verwendung neu zu erstellen und es und alle seine Abhängigkeiten wegzuwerfen sobald du mit ihnen fertig bist?
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.