12 Stimmen

Was sind die Vor- und Nachteile der Verwendung eines IOC-Containers?

Die Verwendung eines IOC-Containers wird die Geschwindigkeit Ihrer Anwendung verringern, da die meisten von ihnen Reflektion unter der Haube verwenden. Sie können auch Ihren Code schwieriger verständlich machen(?). Auf der positiven Seite helfen sie Ihnen, locker gekoppelte Anwendungen zu erstellen und erleichtern das Unit-Testing. Gibt es weitere Vor- und Nachteile für die Verwendung/Nichtverwendung eines IOC-Containers?

2voto

Anton Gogolev Punkte 109749

In den meisten Fällen würden Sie nicht einmal eine Leistungsstrafe bemerken, da für "Singleton"-Objekte alle Initialisierungen nur einmal durchgeführt werden. Ich würde auch behaupten, dass IoC es anders macht, den Code zu verstehen: Im Gegenteil, die Entwicklung im IoC-Stil zwingt Sie dazu, kleine kohärente Klassen zu erstellen, die wiederum einfacher zu begreifen sind.

1voto

yfeldblum Punkte 64211

Wenn Sie eine Geschäftsanwendung schreiben, wird Ihnen die Verwendung eines Inversions-of-Control- und Dependency-Injection-Containers (in Verbindung mit anderen agilen Praktiken und Tools) hinsichtlich Produktivität und Zuverlässigkeit helfen.

Darüber hinaus wird Ihre Anwendung wahrscheinlich einen Großteil ihrer CPU-Zeit darauf verwenden, auf Ressourcen zu warten oder auf menschliche Interaktion zu warten und nichts Nützliches zu tun. Ihre Anwendung sollte genügend Leistung haben, um einige Mikrosekunden Reflexion zu bewältigen.

0voto

Yavuzhan Canli Punkte 1

Es zielt darauf ab, die Abhängigkeit von IOC zu reduzieren, indem die Verwaltung von Objektinstanzen innerhalb der Anwendung sichergestellt wird. Das Framework ist dafür verantwortlich, Abhängigkeiten in Ihrem Projekt zu erstellen und zu verwalten, anstelle des Entwicklers.

Das Framework ruft und führt unseren Code aus, wenn wir einen Codeblock schreiben, und das gesamte Ereignis der Kontrollübergabe an das Framework wird als Inversion of Control bezeichnet.

  • Es ermöglicht die Ausführung einer Methode unabhhängig von ihrer Implementierung.
  • Es ermöglicht Ihnen, problemlos zwischen mehreren Implementierungen zu wechseln.
  • Steigert die Modularität der Software.
  • Aufgrund der reduzierten Abhängigkeiten ist es einfach zu testen und zu schreiben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X