2010-05-06 10 views
5

Je me demande quels sont les bons frameworks IoC simples pour asp.net mvc? qui ont une bonne documentation et sont faciles à monter et à sortir.De bons frameworks IOC à utiliser avec asp.net mvc?

Merci

+1

Tout conteneur IoC décent devrait fonctionner correctement avec ASP.NET MVC. Choisissez celui qui correspond le mieux à vos sensibilités. –

+2

duplicata possible de http://stackoverflow.com/questions/21288/which-c-net-dependency-injection-frameworks-are-worth-looking-into, http://stackoverflow.com/questions/148908/quand- dépendance-injection-outil-devrait-je-utiliser, http: // stackoverflow.com/questions/2520089/autofac-ou-ninject-qui-devrait-je-go-for, http://stackoverflow.com/questions/411660/enterprise-library-unity-vs-other-ioc-containers, http: //stackoverflow.com/questions/770039/examples-of-ioc-containers, etc. – Aaronaught

+1

On dirait qu'Aaronaught a raison, bien que l'autre question date d'environ un an. Peut-être en faire un CW afin que l'information puisse être gardée plus ou moins à jour au fur et à mesure que les frameworks évoluent? – R0MANARMY

Répondre

7

J'ai utilisé Autofac et ont été très heureux avec elle.

La configuration est principalement effectuée dans du code, ce qui vous permet de vérifier vos mappages au lieu de les programmer en XML et d'espérer le meilleur. Il prend également en charge les remplacements XML, donc si vous devez absolument laisser quelque chose à configurer lors de l'exécution/du déploiement, c'est possible.

Le Contrib (pas sûr comment l'appeler?) Partie fournit des intégrations pour NHibernate, Moq, etc. Le créateur du projet a travaillé chez Microsoft pour une année sur l'équipe MEF donc il y a un certain MEF integration aussi bien.

La section de documentation du site est assez bonne (bien que si vous ne trouvez pas ce dont vous avez besoin là-bas, il n'existe probablement pas ... encore). Sur le côté positif le author is on SO donc si vous avez des questions et étiqueter le correctement vous pourriez probablement obtenir des réponses de qualité.


Vous pourriez également être intéressé par ces deux postes de blog sur l'organisation de la configuration/câblage de votre application pour être plus propre.

  1. Using MEF and Castle Windsor to improve decoupling in your architecture
  2. NHibernate and WPF: The GuyWire - Bien qu'il soit écrit dans le contexte de WPF, le même concept s'appliquerait à un webapp.
+0

+1 pour avoir mentionné GuyWire –

1

S#arp Architecture est certainement beaucoup plus que juste IoC. Il utilise Castle/Windsor pour IoC.

Je le recommanderais comme un ensemble de meilleures pratiques pour le cadre de votre application MVC.

+0

Le site officiel de Castle/Windsor est bizarre. Impossible de trouver des exemples d'utilisation du conteneur. – zerkms

2

J'utilise le château de Windsor, d'autres personnes disent que Structure Map est vraiment bon, mais au fond, ils ont tous faire le travail

1

Danial Cazzulino a un bunch (scrunch?) of screencasts sur la création du Funq DI Container. Funq est léger et rapide, mais il manque certains des cloches et des sifflets des cadres plus grands et plus établis.

J'utilise le Munq dérivé de Funq qui est également léger et rapide et est un moyen simple d'ajouter un conteneur DI à des projets MVC3 via Nuget. Jusqu'à présent, je n'ai pas trouvé le besoin de passer à un cadre différent - Munq a été très adéquat.

PM> install-package Munq.MVC3 

Cela ajoutera App_Start\MunqMvc3Startup.cs au projet, et c'est là les dépendances doivent être enregistrées.