2010-12-12 30 views
2

Cette question a été answered en 2008. Fin 2010 maintenant. Tout changement? lequel de ces cadres COI/DI est recommandé pour un très grand projet qui sera maintenu pour toujours?2010: ASP.NET MVC IoC/DI - Structuremap vs Ninject, etc

Caractéristiques de ce projet comprend:

  1. WCF Web Services.
  2. Exposant OData.
  3. Vues spéciales pour divers appareils mobiles.
  4. Modèle de référentiel avec POCO.
  5. Entity Framework.

Structure du projet:

  1. Domaine du projet (base de données, référentiel)
  2. Project Services (Logic)
  3. Web du projet (Vues, ​​contrôleurs, service Endpoints, etc.)

Répondre

4

Ma préférence personnelle est toujours Ninject. Excellente documentation, facile à utiliser, facile à utiliser et à faire. C'est notre IoC de choix dans tous nos projets au travail, et fonctionne un régal.

Côté note RE quelque chose qui durera pour toujours. Enveloppez votre IoC dans une façade de sorte que vous puissiez l'échanger sur la route (nous faisons cela avec notre IoC, ORM, etc. juste au cas où nous devons changer dans quelques années).

+0

+1 pour Ninject, j'ai essayé et travaillé avec le château, l'unité et pense que ninject est le mieux documenté ce qui est assez important! – redsquare

+8

Si vous devez emballer votre conteneur, vous avez déjà perdu. –

+2

Nous devrons simplement accepter d'être en désaccord alors. Personnellement, je préfère appeler une façade qui me renvoie l'objet approprié par rapport aux méthodes de mon conteneur DI - même raison pour laquelle je passe par un référentiel au lieu d'utiliser directement les objets et les méthodes de NHibernate - en particulier, il fait basculer les choses beaucoup plus facile, car je dois juste changer (et éventuellement adapter) les choses dans un seul endroit. –

0

Personnellement, j'utilise Spring.NET. Ce framework a beaucoup d'autres fonctionnalités qu'un simple conteneur d'objet qui peut être utilisé pour DI.

+0

J'entends mal sur la configuration de xml et qu'ils sont sujets aux erreurs dues au fait qu'ils ne sont pas fortement typés. –

+0

@Shawn: Je privilégie la configuration basée sur le code sur la configuration XML, mais vous pouvez toujours écrire un test unitaire pour tester la configuration de votre DI. – Steven