2010-01-09 7 views

Répondre

15

Ni Castle.Windsor ni Spring.NET sont nouveaux.

  • château de Windsor ont été autour depuis la fin 2004
  • Spring.NET ont été autour depuis le début 2006

Ils sont deux comparables DI conteneurs qui visent essentiellement à fournir les mêmes services, donc vous n'avez pas besoin d'apprendre l'un avant l'autre, et vous n'avez pas non plus besoin de consulter des spécifications sur le moment d'utiliser lequel. J'ai utilisé Castle Windsor pendant environ six mois et je suis généralement satisfait. Spring.NET Je dois encore regarder, mais il semble que ce soit very closely tied to the configuration system et ne supporte pas l'enregistrement programmatique, et si cela est vrai, ce serait un inconvénient majeur à mes yeux. Castle Windsor et Spring.NET ne sont pas les seuls conteneurs DI disponibles pour .NET. Voici une liste plus:

4

Je suis l'un des committers au projet Castle (qui comprend Windsor) donc je peux être partial, mais.

Windsor est très extensible, vous permet de l'accorder et de le plier selon vos besoins. Il fournit une belle API d'inscription fluide afin que vous n'ayez pas à écrire une tonne de XML. Il y a aussi des tonnes d'extensions que vous pouvez utiliser pour intégrer Windsor avec d'autres frameworks, comme les frameworks de communication ORMs (WCF, NServiceBus) etc.

De plus, il a une communauté très active et réactive, donc si vous avez des questions, ils J'obtiendrai une réponse assez rapidement la plupart du temps.

+4

Si vous êtes impliqué dans le projet du château, vous devez être conscient que la raison principale pour laquelle vous avez une communauté active et réactive est probablement parce que votre documentation est si horrible.Comparer la documentation entre les deux frameworks n'est pas un défi ... Spring.net a un lien vers un manuel de 500 pages qui est écrit pour la version actuelle du logiciel. Comprendre comment fonctionne Castle est une douleur (en particulier Windsor jusqu'à présent). – wllmsaccnt

+0

@wllmsaccnt Je suis nouveau à Windsor, et je suis d'accord. La documentation de Windsor est horrible. –

+0

@ wllmsaccnt @theneoindian Deux points à clarifier ici. Premièrement, le doco de Windsor a été réécrit à partir des motifs depuis 2010. Un autre, si un outil qui est censé simplifier votre vie nécessite un manuel de 500p, vous pourriez faire mal. –

2

Je suppose que les deux sont meilleurs en termes de configuration. Pas beaucoup de différence mais les deux sont meilleurs que le framework Unity. Pourquoi diable vous avez besoin de l'association marshalbyrefobject dans le contrôle des dépendances. Mais si nous comparons spring.net et Castle Windsor, les deux sont bons. Mais la question se pose de savoir quel est le cadre de conteneur complet. Comme nous avons besoin d'aspects pour la validation sur la dépendance. Donc, l'utilitaire winsor échoue. Je suppose qu'il est stupide de comparer String.net avec Castle Windsor ou quelque chose comme ça parce que tous sont des utilitaires et le printemps est un cadre de conteneur complet. Et tous les gens qui disent que c'est lourd s'il vous plaît vérifier les problèmes de fuite de mémoire avec tous. Ce n'est pas le printemps ou Castle Windsor, c'est une façon stupide d'écrire du code. Donc finalement répondre est si vous avez juste besoin d'utiliser DI Windsor, mais si vous avez besoin d'un cadre complet pour toute solution, utilisez spring.net.

Questions connexes