2010-01-09 13 views

Respuesta

15

Ni Castle.Windsor ni Spring.NET son nuevos.

  • castillo de Windsor han existido desde finales de 2004
  • Spring.NET han existido desde principios de 2006

Son dos comparables DI Contenedores dirigidos sobre todo a proporcionar los mismos servicios, por lo no es necesario que aprenda una antes que la otra, y tampoco necesita consultar ningún tipo de especificación sobre cuándo usarla.

He estado usando Castle Windsor durante aproximadamente medio año y en general estoy contento con él. Spring.NET aún tengo que mirar, pero parece que es very closely tied to the configuration system y no admite el registro programático, y si esto es cierto, sería una gran desventaja a mis ojos.

Castle Windsor y Spring.NET no son los únicos Contenedores DI disponibles para .NET. He aquí una lista más amplia:

4

yo soy uno de los committers al proyecto Castle (que incluye a Windsor) así que puedo ser parcial, pero.

Windsor es muy extensible, le permite ajustarlo y adaptarlo a sus necesidades. Proporciona una buena API de registro fluido para que no tenga que escribir toneladas de XML. También hay toneladas de extensiones que puede usar para integrar Windsor con otros marcos, como marcos de comunicación ORM (WCF, NServiceBus), etc.

Además, tiene una comunidad muy activa y receptiva, por lo que si tiene alguna pregunta, Seré respondido bastante rápido la mayor parte del tiempo.

+4

Si está involucrado en el proyecto del castillo, debe saber que la razón principal por la que tiene una comunidad activa y receptiva es probablemente porque su documentación es tan horrible.Comparar la documentación entre los dos frameworks no es ninguna competencia ... Spring.net tiene un enlace a un manual de 500 páginas que está escrito para la versión de lanzamiento actual del software. Averiguar cómo funciona Castle es un dolor (particularmente Windsor hasta ahora). – wllmsaccnt

+0

@wllmsaccnt Soy nuevo en Windsor, y estoy de acuerdo. La documentación de Windsor es horrible. –

+0

@ wllmsaccnt @theneoindian Dos puntos para aclarar aquí. Uno, el doco de Windsor ha sido reescrito desde cero desde 2010. Otro, si se supone que una herramienta que simplifique su vida requiere un manual de 500p, puede que lo esté haciendo mal. –

2

Supongo que ambos son mejores en términos de configuración. No hay mucha diferencia, pero ambos son mejores que el marco de Unity. ¿Por qué demonios necesitas una asociación de Marshalbyrefobject en el control de dependencia? Pero si comparamos spring.net y Castle Windsor, ambos son buenos. Pero la pregunta es cuál es el marco contenedor completo. Al igual que necesitamos Aspectos para la validación en Dependencia. Entonces la utilidad winsor falla. Supongo que es estúpido comparar String.net con Castle Windsor o algo así porque todas son utilidades y la primavera es un marco contenedor completo. Y todas las personas que dicen que es pesada, comprueban todos los problemas de pérdida de memoria. No es primavera o Castle Windsor, es una forma estúpida de escribir código. Así que, finalmente, la respuesta es si necesita solo DI use Windsor, pero si necesita un marco completo para cualquier solución, use spring.net.

Cuestiones relacionadas