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?
Antworten
Zu viele Anzeigen?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.
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.
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.
- See previous answers
- Weitere Antworten anzeigen