Es correcto. MEF es una especie de contenedor IoC pero más enfocado a ensamblar o extender aplicaciones a partir de componentes (o "partes" en lenguaje MEF). Pero los elementos de una UI son a su vez componentes y por lo tanto también pueden ser administrados usando MEF. De hecho, uno de las aplicaciones de ejemplo en la versión más reciente es una IDE que imita a Visual Studio y "hostea" todas las ventanas de su interfaz a través de MEF. Además permite extender la aplicación y agregar nuevos designers, controles y comandos simplemente copiando al directorio de la aplicación los assemblies que implementan estas extensiones. No es necesario registrarlas.
De cualquier forma, MEF no reemplaza al Smart Client Software Factory (o al CAB), ni tampoco apunta a implementar algún patrón en particular, así que bien se podría usar ambos en una aplicación. MEF solo resuelve el problema de extensibilidad y composición (y es mucho más simple). A propósito, Visual Studio 2010 hace uso de MEF para permitir extensiones al editor. Saludos, Fernando Tubio ----- Original Message ----- From: Leandro Tuttini To: puntonet@mug.org.ar Sent: Thursday, May 14, 2009 5:22 PM Subject: [puntonet] Aplicacion dinamica configurable Fernando, que tal. Tenia conocimiento de este framework pero descarte porque pense que estaba orientado mas que nada a extender aplicaciones en su logica de componentes, y solo en esta, o sea mas a lo que un IoC esta orientado, pero por supuesto mas extensible. Lo que no sabia era si este resuleve el tema de UI, sabes si tambien permite extender y generar catalogos de UI ? En SmartClient App Block lo que tienes son vistas, que hacen uso del patron MVC para trabajar. O sea lo que usas generalmente para desarrollar las vistas son UserControl, los cuales se dentro de controles del tipo workspace, pudiendo definir layout, esto por supuesto se cargan de forma dinamica, segun la configuracion dada al shell. Todos estos temas sabes si los maneja MEF, no digo que lo haga de la misma forma, pero los tiene en cuenta ? O sea MEF estari pensado para trabajar solo, o por ahi es mejor que trabaje en conjunto con SmartClient para resolver la parte grafica. Resumen de la pregunta, esta MEF orientado a la UI, ademas que a la logica de negocio ? saludos --- El jue 14-may-09, Fernando Tubio <ftn...@ic4life.net> escribió: De: Fernando Tubio <ftn...@ic4life.net> Asunto: [puntonet] Aplicacion dinamica configurable Para: puntonet@mug.org.ar Fecha: jueves, 14 de mayo de 2009, 3:04 pm Te recomiendo investigar Managed Extensibility Framework (MEF). Esta librería será eventualmente parte de .NET 4.0, pero por ahora se puede encontrar en Codeplex [1]. Algunas descripciones [2, 3] para ver de que se trata. [1] http://www.codeplex.com/MEF [2] http://www.sidarok.com/web/blog/content/2008/09/26/what-is-this-managed-extensibility-framework-thing-all-about.html [3] http://ayende.com/Blog/archive/2008/09/25/the-managed-extensibility-framework.aspx Saludos, Fernando Tubio ----- Original Message ----- From: Federico Lazarte To: puntonet@mug.org.ar Sent: Thursday, May 14, 2009 10:58 AM Subject: [puntonet] Aplicacion dinamica configurable Gente. Tengo el siguiente escenario: Una aplicación que empezo siendo una demo, se convirtio en un producto complejo y dificil de mantener. La idea ahora es rediseñarlo, y que todo sea altamente configurable. Por ejemplo: El sistema cuenta con varios modulos. A modulo principal. B modulo secundario 1 C modulo secundario 2 D modulo sub-secundario que depende de modulo 2. E modulo sub-secundario que depende de modulo 2. Lo que se quiere es que el aplicativo cuando se ejecute y de acuerdo a un xml de configuración, carge los componentes que deba utilizar. Por ejemplo, para un cliente en particular, se necesita solo el modulo A, C y el módulo E. Se va a usar reflection para esto, aunque los problemas son los eventos, por ejemplo, el modulo C se subscribe a los eventos del módulo E que son incompatibles con los eventos del modulo D. Bueno espero haber sido claro. Me gustaria tener ideas de que conceptos aplicar, patrones y demas. Luego, yo investigo por cuenta propia. Gracias. -------------------------------------------------------------------- ¿Querés conocerte mejor? ¡Conocé lo que Windows Live tiene especialmente para vos! ------------------------------------------------------------------------------ Yahoo! Cocina Recetas prácticas y comida saludable Visitá http://ar.mujer.yahoo.com/cocina/