Als «inversion-of-control» getaggte Fragen

Inversion of Control (IoC) ist ein abstraktes Prinzip, das einen Aspekt einiger Softwarearchitekturentwürfe beschreibt, bei denen der Steuerungsfluss eines Systems im Vergleich zur prozeduralen Programmierung invertiert ist.


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 …



5
IOC-Container brechen die OOP-Prinzipien
Was ist der Zweck von IOC-Containern? Die kombinierten Gründe dafür können auf das Folgende vereinfacht werden: Bei Verwendung der OOP / SOLID-Entwicklungsprinzipien wird die Abhängigkeitsinjektion unordentlich. Entweder haben Sie die obersten Einstiegspunkte, die Abhängigkeiten für mehrere Ebenen unter sich verwalten und Abhängigkeiten rekursiv durch die Konstruktion leiten, oder Sie haben …

4
Warum brauchen wir Frameworks für die Abhängigkeitsinjektion? [geschlossen]
Ich habe mehr über das Inversion-of-Control-Prinzip und Dependency-Injection als dessen Implementierung gelesen und bin mir ziemlich sicher, dass ich es verstehe. Es scheint im Grunde genommen zu heißen, dass Sie Ihre Klassenmitglieder nicht als Instanziierungen innerhalb der Klasse deklarieren. Vielmehr sollten die Instantiierungen über den Konstruktor übergeben und zugewiesen werden. …

7
Was ist der "richtige" Weg, DI in .NET zu implementieren?
Ich versuche, die Abhängigkeitsinjektion in einer relativ großen Anwendung zu implementieren, habe jedoch keine Erfahrung damit. Ich habe das Konzept und einige verfügbare Implementierungen von IoC- und Abhängigkeitsinjektoren wie Unity und Ninject studiert. Es gibt jedoch eine Sache, die mir entgeht. Wie soll ich die Instanzerstellung in meiner Anwendung organisieren? …

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 …

5
Sollte ich vor einer Implementierung eine Schnittstellen-API schreiben?
Ich habe mich in letzter Zeit mit "organisierterer" Programmierung befasst und gelernt, dass ich auf eine Schnittstelle programmieren sollte, nicht auf eine Implementierung. Wäre es in diesem Sinne besser, ein Projekt in Schnittstellen zu "skizzieren", bevor Sie, wo möglich, die Implementierung dafür schreiben? Und wenn dies der Fall ist, sollte …


3
Ist Poor Man's Dependency Injection ein guter Weg, um Testbarkeit in eine Legacy-Anwendung einzuführen?
Im vergangenen Jahr habe ich ein neues System mit Dependency Injection und einem IOC-Container erstellt. Das hat mir viel über DI beigebracht! Ich halte es jedoch auch nach dem Erlernen der Konzepte und Muster für eine Herausforderung, Code zu entkoppeln und einen IOC-Container in eine Legacy-Anwendung einzuführen. Die Anwendung ist …

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.