Tengo una pregunta relativamente básica, pero más que nada solo necesito cierta claridad, he estado utilizando Prism (Guía de aplicaciones compuestas) para crear una aplicación de escritorio WPF MVVM en C#, este bit soy todo claro (o al menos eso creía) junto con la arquitectura basada en IoC y Módulo, etc. Al mismo tiempo, comencé a usar MEF y me di cuenta de que hay una especie de área gris entre los dos (he encontrado y leído varios artículos/blogs en hosting Extensiones MEF en contenedores IoC y similaresDiferencias entre MEF, EntLib y Prism
Sin embargo .... recientemente comencé a buscar en Enterprise Library 5 y esto es lo que me llevó a la confusión. ¿Dónde se ajustan todos? DI con una arquitectura basada en módulos ... EntLib usa Di con una arquitectura de tipo Application Block ... y ME F no usa DI en absoluto? ¿Significa esto que EntLib y Prism son métodos arquitectónicos completamente separados o que uno es un subconjunto del otro? También podría MEF ser utilizado con cualquiera/ambos?
Cualquier explicación sería muy bienvenida.
Muchas gracias
Hola Josh, muchas gracias por su respuesta, esa es una buena manera de describirlos y pensar en ellos. Encontré un excelente video en Channel 9 de Mike Taulty, basado en Silverlight pero igual de relevante para WPF: http://channel9.msdn.com/blogs/matthijs/silverlight-4-a-guided-tour-of-the -managed-extensibility-framework-mef – jameschinnock
IOC, cuando se hace de forma remota con DI, expone las interfaces que le permiten "conocer" la funcionalidad pero no la clase que la maneja. Este es simplemente el diseño polimórfico en el trabajo, pero agrega complexixity MEF es único en el sentido de que generará DLL sobre la marcha mediante el reflejo. Por lo tanto, permite intercambiar archivos DLL sin alterar el código fuente de otras bases de códigos.Así que estoy completamente de acuerdo con Josh en este componente, sin embargo, no creo que sea un enfoque razonable para la mayoría de las personas. http://msdn.microsoft.com/en-us/library/ff648478.aspx http://msdn.microsoft.com/en-us/library/dd460648%28v=vs.110%29.aspx –
MEF => Application Plug-ins – orad