Mef

En esta serie de post voy a tratar una luz en este tema en especifico. Usando principalmente en aplicaciones de Negocio  en tecnologías como Silverlight y Wpf.

Que es Mef?

Mef es el acrónimo de Managed Extensibility Framework, Mef es un framework que simplifica la creación de aplicaciones extensibles usando inyección de dependencias, basado principalmente en composición así como otras características propias del framework que apoyan la creación de aplicaciones modulares.

Otras soluciones

Mef no plantea reemplazar las soluciones existentes, solo hacer mas fácil la construcción de aplicaciones modulares.

Descargando Mef

http://mef.codeplex.com/

Mef conceptualmente

Mef inicialmente busca resolver el problema de la extensibilidad en aplicaciones.

  • Un sistema extensible nos permite la adición de una funcionalidad sin modificar el core del sistema
  • Extensibilidad inicia con composición (Que es composición: Es la unión de las partes para crear un todo).

Primer Ejemplo

Imaginémonos un automóvil

descarga

Un automóvil engloba muchos subsistemas corriendo al mismo tiempo, es una composición por que es la unión de las partes para armar un todo. De piezas necesarias como asientos, ruedas un motor etc.

De hay se infiere que extensible, por ejemplo no nos gustan las ruedas del auto las cambiamos y así con algunos elementos del auto.

Parts

Mef se basa en parts, Una parte básicamente ofrece servicios a otras partes, a esto lo llamaremos exportaciones.

Una parte también puede realizar el proceso inverso a esto lo llamamos importación.

Contenedores: En los contenedores se realiza el proceso (Importar, Exportar), haciendo coincidir importaciones y exportaciones, los contenedores usualmente usan catálogos para obtener información acerca de las partes. Los catálogos descubren de las piezas en juego con diversos mecanismos, por ejemplo un catalogo puede escanear un archivo xap leer el manifiesto y conocer las diferentes dlls que componen un xap.

Contratos

Un contrato funciona de la misma manera de la vida real, cada parte dice que servicio ofrece bajo que parámetros (Export) y que servicios requiere bajo que parámetros (importaciones). Y los hace cumplir.

Este ejemplo es algo básico pero permite entender la idea principal de mef

Deja un comentario