He estado trabajando con MEF durante aproximadamente 2 semanas. Comencé a pensar para qué sirve MEF, investigé para descubrir cómo usar MEF y finalmente implementé un Host con 3 módulos. Los contratos están demostrando ser fáciles de entender y los módulos se gestionan fácilmente.
Aunque MEF tiene un uso muy práctico, me pregunto en qué medida. Quiero decir, ¿todos reescribirán las aplicaciones existentes para la extensibilidad?
Sí, eso suena y es increíblemente poco práctico. Hablando retóricamente:
¿Cómo está afectando MEF las tendencias actuales en la programación?
¿Has comenzado a buscar oportunidades para usar MEF?
¿Has comenzado a planificar una reescritura importante de una aplicación existente que pueda beneficiarse de la extensibilidad?
Dicho esto, mis preguntas son:
¿cómo sé cuándo debo planificar un nuevo proyecto con extensibilidad?
¿Cómo sabré si un proyecto existente necesita ser reescrito para la extensibilidad?
¿Alguien está usando MEF?
fuente
Actualmente estoy usando MEF en algunos proyectos que incorporan el patrón Repository.
Uno está usando diferentes tipos de repositorios durante las pruebas unitarias, el otro proyecto está usando repositorios locales (directos a DB), remotos (WCF) y de prueba.
Ambos proyectos pueden cambiar sus tipos de repositorio a través de código o configuración, y se basa en metadatos MEF / tipos diferidos.
Hasta la fecha, ambos proyectos se ejecutan increíblemente bien.
fuente