Einfacher Injektor gegen Hiro gegen Autofac
Ich bin neu DI und IoC und ich versuche zu entscheiden, welche IoC-container, um zu lernen. Ich habe schon mehrere gesehen Leistungsvergleichein dem die drei Container verwiesen wird, scheinen auch sehr gut. Allerdings habe ich keine Vergleich der Features, die enthalten Hiro oder Einfach Injektor. Die community für Autofac zu sein scheint, das größte, aber Hiro und Einfache Injektor sind rasend schnell in benchmarks und Einfache Injektor-insbesondere Ansprüche sehr einfach zu lernen. Das heißt, ich will nicht zu lernen und haben Sie zu einem anderen wechseln, da das feature-set ist begrenzt. Deshalb ich bin Neigung in Richtung Autofac, da es ziemlich ausgereift und verfügen über eine komplette (gute Artikel hier und hier) als auch eine der schnellsten IoC-Container zur Verfügung. Hat jemand Erfahrung mit mindestens zwei der drei von diesen Containern? Können Sie irgendwelche feature-Vergleich?
InformationsquelleAutor der Frage joelmdev | 2011-11-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lassen Sie mich beginnen, indem ich sagte, ich bin der leitende Entwickler hinter Einfache Injektor.
Ich Stimme mit Markdass in den meisten Fällen die Leistung eines Containers ist das kein problem. Noch einige Container sehr schlecht auf einige Punkte und es kann schwer sein, zu spüren intuitiv, welche Teile der Konfiguration kann problematisch sein im Hinblick auf die Leistung. Die meisten performance-Probleme können behoben werden, durch ändern der Konfiguration (ändern von Eintragungen zu singleton, hinzufügen caching, etc), egal welchen container Sie verwenden. An diesem Punkt, aber es kann wirklich kompliziert zu konfigurieren, dass ein container. Es ist diese Komplexität, die wir zu lösen versucht mit Einfach Injektor. Ich lasse andere entscheiden, ob wir erfolgreich waren (oder ob haben ein DI-container, oder noch eine andere DI-container ist auch nützlich).
Leistung war aber auch nicht hoch auf meiner Liste, als ich anfing, das Projekt (Einfachheit), sondern die (lock-frei und
Expression
Baum-basierten) Entwurf erlaubt mir zu tun Optimierungen, die machen es zu einem der der Schnellste container in das Feld (während noch sehr feature-reiche und extrem dehnbar). In den meisten Fällen die Leistung ganz in der Nähe newing, Fälle von hand.Dieser sagte, es dauert noch mehr Zeit zu lernen, dependency injection, die als Muster, als es braucht, zu lernen, zu arbeiten mit einer bestimmten DI-container (Mark ' s Buch kann wirklich helfen, mit beiden). Ein container ist sogar eine Einfache Injektor - wird dir nicht helfen, mit Verständnis für DI und SOLID (jedoch, einige der Einschränkungen versuchen, Sie zu drücken, um eine saubere Anwendung-design).
Einfache Injektor ist ziemlich neu (oder zu spät) in die DI-Szene. Da gibt es nicht viel Vergleich zwischen ihm und anderen (obwohl es einige hier und hier) und die Anzahl der Nutzer ist begrenzt im Vergleich zu anderen frameworks, aber rasch zunehmend (und nach einem alte Umfrage von Roy OsheroveEinfache Injektor-Marktanteil in dieser Zeit von über 4%). Das ist eine Schande, dass Einfache Injektor nicht im Vergleich eine Menge, denn es ist in der Lage, eine Menge (schauen Sie nur beispielsweise an die erweiterte Szenarien Abschnitt in der Dokumentation). Einfache Injektor fehlt der Vergleich, den Sie über einen Link in (Teil 1 und Teil 2), so ist hier die feature-Liste für die Einfache Injektor (aber beachten Sie, dass Einfache Injektor ist Hinzugefügt, um eine von der Autorin neuere Vergleiche):
Expression
basierte API ermöglicht das hinzufügen von Unterstützung für fast jede erweiterte Szenariowie abfangen (obwohl die Verwendung von Dekoratoren gefördert wird).Ich habe keine Ahnung, was Ihre Anforderungen sind, aber ich Wette, dass Einfache Injektor kann Ihnen für die gesamte Lebensdauer Ihres Projekts. Wenn Sie Probleme haben, Fragen Sie einfach hier an Stackoverflow.com oder an der Einfache Injektor-forum. Die Einfache Injektor-Helfer und andere Enthusiasten werden Ihnen gerne behilflich sein. Und vergessen Sie nicht, dass es eine Haufen von Stackoverflow-Benutzerdass kann Ihnen helfen, mit Allgemeine DI Probleme.
InformationsquelleAutor der Antwort