Welches ist der beste IoC unter StructureMap und Ninject?
Dies sollte zusammengeführt werden mit: Best injection frameworks
Hängt von der Situation ab. Für kleine Projekte, in denen Sie einen einfachen Container benötigen, würde ich Ninject wählen. Ich mag die Tatsache, dass es klein und schlank ist. Ich mag die Attribute nicht, aber es gibt Möglichkeiten, das zu tun.
Für eine große Lösung, wo Sie mehr als nur IoC benötigen, würde ich mit dem Castle-Zeug gehen. Viel Flexibilität dort, können Sie XML, Attribute oder ein DSL verwenden, um Sachen zu konfigurieren, können Sie Ihren IoC in AOP-Gebiet erweitern, wenn Sie es später brauchen.
Ich habe die Strukturkarte noch nicht ausprobiert. Es scheint viel mehr zu tun als IoC. Aber ich kann nichts dazu sagen. Ich würde denken, dass Ninject und Strukturplan unterschiedliche Zwecke erfüllen, so dass es schwer ist, zwischen den beiden zu wählen, ohne ein bisschen mehr über den Kontext zu wissen. Besser ist meist ein relatives Konzept: -)
Ich benutze StructureMap, also denke ich, dass es das Beste ist. Aber vielleicht würde ich in Zukunft für Unity gehen, da dies von MS unterstützt wird, was bessere Dokumentation bedeutet und weniger vom Wohlwollen einer Person abhängig ist, obwohl diese Person sehr gut gewillt ist. Natürlich werde ich den Rahmen nicht ändern, nur weil es nett ist. Solange etwas funktioniert, upgrade ich nicht einmal.
Es gibt kein Bestes. Die meisten von ihnen tun 90% von dem, was Sie brauchen, auf ziemlich die gleiche Art und Weise. In bestimmten Situationen kann einer flexibler sein als ein anderer.
Angesichts der Wahl würde ich Windsor wählen, wenn nichts anderes, aber ich weiß es schon ziemlich gut. Aber ich würde nicht meckern, wenn ich Ninject oder StructureMap verwenden müsste. Sie sind beide gute Rahmenbedingungen.
Ich weiß, dass Ninject derzeit der einzige ist, der auf dem Compact-Framework läuft, also wenn das ein req ist. dann ist Ninject der Weg zu gehen.
Ich bin ein wenig Angst vor Spring.NET, vor allem, weil ich XML verabscheue. Aber vielleicht ist es nicht so schlimm wie ich denke, flame mich nicht:)
Ich gehe selbst durch diesen Prozess. Ich würde empfehlen, mit Ninject loszulegen. Nur weil es so leicht ist und einen wirklich niedrigen Einstieg hat. Sie können es in wenigen Stunden einrichten.
Was Sie finden werden, ist, dass Sie Ihr System mit IoC im Hinterkopf entwerfen werden und dass das Design unabhängig vom IoC-Framework, das Sie verwenden, weitgehend dasselbe sein wird.
Ohne zu viel Arbeit im Rahmen der grundlegenden Framework-Installation sollten Sie in der Lage sein, NInject für etwas wie StructureMap auszutauschen, wenn Sie möchten.
Am besten ist es, mit einem zu beginnen und zu sehen, welche Probleme Sie finden und dann entscheiden, ob eine Alternative Ihren Bedürfnissen besser entspricht.
Die Frameworks scheinen eine dynamische Phase zu durchlaufen, in der neue Versionen veröffentlicht werden. Und MEF, das heißt IoC und vieles mehr, könnte weitere Veränderungen in der Landschaft erzwingen.
autofac ist eine gute Wahl für kleine Projekte. Wenn Sie hardcore IoC + Integration mit was auch immer Sie sich vorstellen können, würde ich Spring.NET
empfehlenBEARBEITEN Jetzt, da ich darüber nachdenke, rockt Autofac für Projekte jeder Größe, während Spring.NET sich zu sehr für Unternehmen hält.
Tags und Links inversion-of-control