Visual Studio 2010 (parte 39) – Managed Extensibility Framework (MEF)
O Managed Extensibility Framework (MEF) é uma nova biblioteca no. NET Framework que permite uma maior reutilização de aplicações e componentes. Usando MEF, aplicações . NET podem fazer deixar de serem estaticamente compiladas para serem dinamicamente compostas.
Abaixo vemos uma pequena amostra de código com o novo framework, representado pelos atributos que decoram a classe SimpleMortgageCalculator.
[Export(typeof(IMortgageCalculator))]
[ExportMetadata(“Calculation”, “Simple”)]
[ExportMetadata(“Tax Aware”, null)]
public class SimpleMortgageCalculator : IMortgageCalculator
{
public ILogger Logger { get; set; }
public float Calculate()
{
Logger.Log("Calculating Mortgage");
return ...;
}
}
O MEF permite ser utilizado num servidor web onde você pode utilizar uma parte isolada de outras instâncias da mesma aplicação. Basicamente, a idéia é simplificar o design e construção de aplicações e componentes com alta extensibilidade.
O MEF está disponível no CodePlex aqui.