405 Stimmen

Welche .NET-Abhängigkeitsinjektionsframeworks sind es wert, sich anzusehen?

Welche C#/.NET Dependency Injection-Frameworks sind es wert, sich anzusehen? Und was können Sie über ihre Komplexität und Geschwindigkeit sagen.

14 Stimmen

IoC Container Benchmark - Leistungsvergleich enthält Leistungs- und Funktionsvergleichstabellen für mehr als 20 Produkte und hält sie auf dem neuesten Stand. Es empfiehlt Simple Injector

0 Stimmen

Ich schätze Ninject & Maestro. Ich freue mich, dass die am besten bewertete Antwort Ninject als "ein absolutes Vergnügen" bezeichnet.

7 Stimmen

Ich würde betonen, dass Sie sich, bevor Sie sich mit IoC-Containern beschäftigen, ohne einen auskommen sollten. Führen Sie Ihre Verdrahtung und Injektion manuell durch, es ist wirklich nicht kompliziert oder erfordert eine Menge Code, es sei denn, Sie haben wirklich komplexe oder große Systeme. Wenn Sie das Gefühl haben, dass Sie es verstehen und es mühsam wird, werden Sie besser in der Lage sein zu verstehen, welche Art von Framework Ihnen helfen würde. Es gibt jedoch keine Regel, die besagt, dass ein Projekt unbedingt einen IoC-Container haben muss, um die DI richtig durchführen zu können.

8voto

Chris Canal Punkte 4787

Ich bin ein großer Fan von Castle. Ich liebe die Einrichtungen, die es neben der IoC-Container-Geschichte bietet. Es vereinfacht wirklich die Verwendung von NHibernate, Logging, AOP usw. Ich verwende auch Binsor für die Konfiguration mit Boo und habe mich wirklich in Boo als Sprache verliebt.

5voto

outinsun Punkte 51

Ich habe den Großteil eines Tages damit verbracht, mich ohne Erfolg mit dem einfachsten Beispiel von Spring.NET herumzuschlagen. Konnte nie herausfinden, wie ich es dazu bringen kann, meine Assembly aus der XML-Datei zu finden. Andererseits konnte ich innerhalb von etwa 2 Stunden Ninject zum Laufen bringen, inklusive Tests der Integration mit sowohl NUnit als auch MSTest.

4voto

Jason Sparks Punkte 1306

In der Vergangenheit habe ich Spring.NET verwendet und hatte großen Erfolg damit. Ich habe nie einen wesentlichen Overhead bemerkt, obwohl das Projekt, bei dem wir es verwendet haben, ziemlich umfangreich war. Es hat nur ein wenig Zeit gekostet, um die Dokumentation durchzulesen und es einzurichten.

4voto

Julio César Punkte 11682

Ich kann Ninject empfehlen. Es ist unglaublich schnell und einfach zu verwenden, aber nur, wenn Sie keine XML-Konfiguration benötigen. Andernfalls sollten Sie Windsor verwenden.

1 Stimmen

Es ist NICHT schnell! Es ist eines der langsamsten DI-Frameworks da draußen! palmmedia.de/Blog/2011/8/30/…

0 Stimmen

@Serj Sagan Um fair zu sein, diese Ergebnisse sind uralt (jetzt 6 Jahre alt)

3 Stimmen

2voto

Ian Patrick Hughes Punkte 10365

Das Tolle an C# ist, dass es einen Weg verfolgt, der von Jahren der Java-Entwickler zuvor geebnet wurde. Also mein Rat ist im Allgemeinen, wenn Sie nach Werkzeugen dieser Art suchen, suchen Sie nach der soliden Java-Antwort und sehen Sie, ob es bereits eine .NET-Adaption gibt.

Also, wenn es um DI geht (und es so viele Optionen gibt, das ist wirklich eine Geschmackssache), ist Spring.NET. Außerdem ist es immer ratsam, die Menschen hinter den Projekten zu recherchieren. Ich habe kein Problem damit, SourceGear-Produkte für die Quellcodeverwaltung vorzuschlagen (außer sie zu verwenden), weil ich Respekt für Eric Sink habe. Ich habe Mark Pollack sprechen hören und was soll ich sagen, der Typ hat es einfach drauf.

Letztendlich gibt es eine Menge DI-Frameworks und Ihre beste Wette ist, ein paar Testprojekte mit einigen davon zu machen und eine fundierte Entscheidung zu treffen.

Viel Glück!

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