2009-10-09 7 views
2

Il y a tellement de choix IOC, que je ne sais pas par où commencer. J'ai regardé Spring.NET, Unity, Ninject, Windsor et StructureMap jusqu'ici, et je n'ai aucune idée de ce qui fait un meilleur que l'autre. Alors, quel est votre CIO préféré, et quelle (s) caractéristique (s) vous fait-il utiliser par rapport à un autre?submergé par les choix IOC

+2

Ceci est un doublon - vous trouverez probablement ce que vous êtes interessé à http://stackoverflow.com/questions/411660/enterprise-library-unity-vs-other-ioc-containers. (Ou l'article de blog dérivé de la réponse acceptée ici - http://elegantcode.com/2009/01/07/ioc-libraries-compared/) –

+0

Je ne suis pas d'accord, c'est une question différente. Je demande quel conteneur les gens utilisent, et quelle est la fonctionnalité la plus importante. La question que vous faites référence concerne d'autres conteneurs par rapport à Unity – Steve

+0

en outre, c'est juste l'opinion d'un gars. J'essaie de recueillir des informations sur ce que les gens utilisent et pourquoi ils pensent que c'est le meilleur – Steve

Répondre

2

Je pense plus ou moins qu'ils ont la même fonctionnalité. Il est donc logique de regarder:

  • qualité Documenatation
  • presense de QuickStart complet
  • est-il est utilisé dans d'autres produits bien connus
  • Y at-il une communauté autour d'elle
  • Quelle est la maturité, il

Par exemple, l'unité:

  • Il a une bonne documentation
  • quickstarts sont assez bon
  • Il est utilisé dans le Guide Composite Application et Web Client Software usine
  • Il a communauté autour
  • Il est seulement 1.2 (et 2.0 est à venir) mais néanmoins il est un successeur de constructeur d'objet
4

Essayez d'utiliser Common Service Locator et plus tard, vous serez en mesure de basculer entre les conteneurs. Je préfère l'unité (cos de la foi sainte dans MS =)) et Windsor cos de pouvoir. Ninject a une documentation très amusante, si vous ne l'utilisez pas, vous devriez au moins lire ses documents et visiter ses docs site =)

+0

il a de loin le meilleur site – Steve

+0

-1 éviter Localisateur de Service Commun. N'utilisez pas votre conteneur IoC/DI en tant que localisateur de service. –

+0

Clarifier votre commentaire, pourquoi je devrais éviter d'utiliser le service commun Loacator? – Restuta

1

Pour les nouveaux projets j'utilise Ninject maintenant. Je l'aime pour son API "propre", moderne et simple et sa configuration fluide.