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!
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.
2 Stimmen
Beginnen Sie mit keiner. Erstellen Sie das erforderliche Objektgraph manuell. Unterschiedliche Frameworks haben unterschiedliche Ansätze, die von Ihren Bedürfnissen abhängen. Bevor Sie sich für eines entscheiden, müssen Sie erkennen, welche Funktionen Sie am meisten benötigen.
1 Stimmen
Da dotnetcore die Zukunft ist, sollten Sie sich lieber an seine integrierte DI-Unterstützung halten. Es ist sehr gut und hochgradig anpassbar.