Question

Ce qui IoC à considérer tout en développant projet d'application Web ASP.NET et quels sont les avantages des différents IoC?

  1. ObjectBuilder
  2. Unité
  3. Spring.NET
Était-ce utile?

La solution

Il est pas dans votre liste, mais pensez à regarder château de Windsor

Nombre d'installations telles que le soutien des usines afin que le produit d'usine est injecté pas l'usine elle-même ou l'installation WCF pour injecter un proxy ou la création d'un hôte avec des dépendances.

a une belle interface fluide pour le câblage des objets individuels, mais de préférence vous utiliseriez une convention pour fil automatique de sorte que vous n'avez pas à la liste chaque composant.

D'autres caractéristiques BELLES:

  • Nécessite une seule dll depuis nouvelle révision.
  • Prise en charge des listes et des tableaux d'injection via résolveurs SubDependancy

est un sondage effectué cette année montrant la IoC favorisée. L'unité semble être supérieure, mais qui est probablement parce qu'il est un produit Microsoft et des ateliers Microsoft ramasser par défaut.

Autres conseils

Nous utilisons StructureMap sur un projet ASP.NET MVC et avons trouvé très utile. Le seul véritable inconvénient est la documentation limitée. Le très bien fonctionne automatiquement le câblage et il ne nécessite que très peu de configuration si vous utilisez des conventions solides pour nommer vos classes et interfaces, par exemple:.

 public interface ISomething { ... }

 public class Something: ISomething { ... }

Avant que nous avons utilisé Spring.NET, bien que nous que parce qu'il a abandonné fait beaucoup d'autres (non) des choses que IoC on n'a pas vraiment besoin et configuration requise XML complexe pour faire ce que nous avions besoin. En tant que conteneur IoC il a bien fonctionné bien et était très flexible.

La chose clé que je vous recommande tout ce que vous choisissez est le codage pour permettre l'utilisation IoC - nous utilisons des interfaces dans tous les sens. Cela fait vraiment les tests unitaires d'aide et tous les avantages qui apporte aussi.

Les choses dans l'unité MVC3 trop intéressante fait look, mais pas eu la chance de jouer avec elle encore.

Je doute que beaucoup de gens ont utilisé plus de deux ou trois d'entre eux, et dans mon expérience très limitée avec l'unité et Ninject il n'y a pas beaucoup de différence dans le résultat final. Ils ont légèrement différentes options de configuration des applications, et je suis sûr que quelques-unes des fonctionnalités plus avancées diffèrent, mais ceux-ci sont probablement rarement utilisés. A la fin de la journée, les exigences de base pour un conteneur IoC ne sont pas si compliqué que ça - vous pouvez facilement rouler votre propre

.

est beaucoup plus important que vous utilisez un modèle IoC, qui marque particulière que vous choisissez a probablement pas d'impact significatif sur la qualité de l'application résultante.

Pour ce que ça vaut, je vous recommande Ninject si seulement parce qu'il est très léger.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top