Pregunta ¿MEF es un marco de inyección de dependencia?


El marco de extensibilidad gestionado 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?


32
2017-11-15 21:06


origen


Respuestas:


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 extender el la edición de texto en VS2008 se mostró entre otras cosas. Comience alrededor de una hora y 15 minutos en el segundo día de presentación (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 admita el descubrimiento de extensiones", entonces MEF es lo que deseas. 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 la unidad en el EL4.0 (ahora 4.1 - http://msdn.microsoft.com/en-us/library/dd203099.aspx) es en realidad un IoC que se encuentra en la parte superior de 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. Aquí hay algunos podcasts / webcast geniales y específicos que describen UNITY en su totalidad, que recomiendo encarecidamente:

DotNetRocks Show # 393 http://www.dotnetrocks.com/default.aspx?showNum=393 DNR.tv Show # 126 http://www.dnrtv.com/default.aspx?showNum=126


27
2017-11-15 22:09



Vi uno escribir que lo hizo sonar como uno pero más información (Scott Guthrie en PDC2008[Video / wmv]) me hizo pensar que es más que un marco de inyección de dependencia. Desde el sonidos de cosas se puede usar para inyección de dependencia pero también más.


1
2017-11-15 21:17



Aquí hay una conversación acerca de MEF / MAF / Unidad / Prisma que encontré esclarecedor.


1
2018-03-18 22:10



Me gustaría agregar una línea de mopre que acabo de leer MEF no forma parte de Inversion of Control (ya que se dice que dependecny 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 manera estática, incluso se pueden descubrir en tiempo de ejecución. También hay otros enlaces que pueden ayudarlo más: Diferencia entre Unidad y MEF


0
2017-09-07 07:46