El marco de extensibilidad administrado recientemente anunciado (MEF) de .NET 4.0 - ¿Es un marco de inyección de dependencia? ¿Microsoft Unity de Patterns and Practices estará obsoleto en 4.0? ¿Cómo se compara MEF con un marco como Unity?¿Es MEF un marco de inyección de dependencia?
Respuesta
Específicamente tratado en el PDC 2008 2nd Keynote por Scott Guthrie, MEF tiene mucho más que ver con cosas como extender Visual Studio 2008 y otras aplicaciones, sin tener que usar todas las tecnologías COM y antiguas ... Una muy buena demostración de la extensión de la edición de texto en VS2008 se mostró entre otras cosas. Comienza aproximadamente una hora y 15 minutos en la nota clave del segundo día (http://www.microsoftpdc.com) y obtendrás información directa, pero básicamente si vas a "crear una aplicación con puntos de extensibilidad integrados que puedan descubrirse fácilmente y que sea compatible con el descubrimiento de extensiones, "entonces MEF es lo que quieres. UNITY es lo que desea para un contenedor IoC de alta calidad que hace DI y otras soluciones, pero tiene una gran y fácil integración con Enterprise Library.
En cuanto a Unity en el EL4.0 (ahora 4.1 - http://msdn.microsoft.com/en-us/library/dd203099.aspx) es realmente un IoC que se encuentra sobre la versión 2 ObjectBuilder y el EL4.1 tiene puntos de extensibilidad para unificar la configuración de varios bloques de aplicaciones EL con Unity .
MEF vs. Unity es como comparar manzanas con naranjas. Una gran y específica de podcast/transmisión (s) que describen la UNIDAD en su totalidad están aquí, que recomiendo encarecidamente:
DotNetRocks Mostrar # 393 http://www.dotnetrocks.com/default.aspx?showNum=393 DNR.tv Show # 126 http://www.dnrtv.com/default.aspx?showNum=126
¿Pero por qué querría usar Unity cuando tengo MEF? – bitbonk
Vi uno escribir que lo hizo sonar como uno pero más información (Scott Guthrie at PDC2008 [Video/wmv]) me hizo pensar que es más que un marco de inyección de dependencia. Desde sounds of things puede usarse para inyección de dependencia pero también más.
Here's a conversation sobre MEF/MAF/Unidad/Prisma que encontré esclarecedor.
Me gustaría agregar una línea mopre que acabo de leer que MEF no forma parte de Inversion of Control (como dependecny se dice que es sinónimo de IOC) pero lo implementa. Cuando implementamos IOC a través de inyecciones de dependencia generalmente utilizamos Unity, que ayuda a descubrir dependencias estáticas pero MEF nos permite aumentar la extensibilidad de nuestra aplicación sin configurar los componentes de forma estática, incluso se pueden descubrir en tiempo de ejecución. Hay otros enlaces, así que puede ayudar más: Difference between Unity and MEF
No estoy seguro de que esta respuesta sea del todo coherente –
- 1. Inyección de dependencia sin marco
- 2. Marco de inyección de dependencia mono compatible
- 3. Nombre un marco de inyección de dependencia simple
- 4. ¿Hay un marco de inyección de dependencia para Smalltalk?
- 5. ¿Qué es la Inyección de Dependencia?
- 6. ¿Qué marco de inyección de dependencia .NET usa?
- 7. Inyección de Dependencia wcf
- 8. Marcos de inyección de dependencia: ¿Cómo funcionan?
- 9. alternativas de inyección de dependencia
- 10. Inyección de dependencia en un bucle
- 11. Inyección de Dependencia con PowerShell
- 12. Inyección de dependencia en MVC
- 13. Inyectando el Inyector de Dependencia usando la Inyección de Dependencia
- 14. Inyección de dependencia con Jersey
- 15. ¿Cuándo usa la inyección de dependencia?
- 16. La inyección de dependencia con múltiples repositorios
- 17. Burlarse sin IoC o Inyección de Dependencia
- 18. ¿Cuál es una buena metáfora de la inyección de dependencia?
- 19. ¿Qué es el Marco de Extensibilidad Administrado (MEF)?
- 20. bibliotecas de inyección de dependencia de Ruby
- 21. Inmutabilidad después de inyección de dependencia, inicialización
- 22. Mejores prácticas de inyección de dependencia
- 23. Unity [dependencia] inyección y Herencia
- 24. Inyección de dependencia C#: cómo inyectar una dependencia sin fuente?
- 25. ¿buen proyecto de fuente abierta que usa el Marco de inyección de dependencia?
- 26. Dependencia Inyección a los módulos
- 27. Implementación de MVVMC e Inyección de Dependencia
- 28. Inversión de inyección de control y dependencia en .NET Framework
- 29. Usa correctamente la inyección de dependencia
- 30. resolviendo dependencias circulares con inyección de dependencia
[Esta pregunta] (http://stackoverflow.com/questions/42251/whither-managed-extensibility-framework-for-net) podría ser de interés para ti –