Introducción
MEF es un conjunto de componentes incluidos en el framework 4.0 que nos permite hacer aplicaciones extensibles. MEF intenta resolver el problema que supone extender una aplicación en tiempo de ejecución, es decir, da una solución estandarizada para aquellas aplicaciones que pretendan usar un modelo de plugins.
Para trabajar con MEF debemos conocer los siguientes conceptos:
· Composition part. Parte extensible, le llamaremos simplemente parte la cual proporcionará servicio a otras partes y consumirá servicios proporcionados por otras partes. Estas partes pueden estar dentro del propio ensamblado de la aplicación o en un ensamblado externo. Una parte puede ser una clase, propiedad o método. Estas partes se decoran con un atributo de exportación o de importación.
· Export. Es un servicio exportado por una parte.
· Import. Es un servicio consumido por una parte.
· Contrat. Contrato, es un identificador para un Export o un Import. Un Export especifica el contrato que proporciona y un Import especifica el contrato que necesita.
· Composition. Es la acción por la cual de forma dinámica y en tiempo de ejecución las distintas partes son instanciadas y se hace coincidir los Import con los Export.