BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Managed Extensibility Framework 2: Novidades por vir no .NET 4.5

Managed Extensibility Framework 2: Novidades por vir no .NET 4.5

A versão 2 do Managed Extensibility Framework (MEF) está atualmente em modo preview e tem partes disponíveis na versão beta do .NET Framework 4.5 . De acordo com a Microsoft, a versão final do framework será incluída no release final do novo .NET, a ser lançado no segundo semestre deste ano.

Enquanto não chega a versão final, já se pode consultar uma relação detalhada das novidades que estarão disponíveis (as datas podem ser modificadas até a liberação). Conheça a seguir algumas das principais mudanças.

RegistrationBuilder: Registro sem atributos

A nova classe RegistrationBuilder, disponível em System.ComponentModel.Composition.Registration, trata da criação e exportação automática de "partes" (parts). Com ela, não será mais necessário que desenvolvedores definam atributos nos objetos para realizar a injeção de recursos. A classe utiliza regras (conventions) para mapear tipos e partes. Em alguns cenários é possível também redefinir essas convenções.

Registro flexível de tipos

Utilizando a classe RegistrationBuilder, há três alternativas para determinar quais tipos se aplicam a uma regra:

  1. ForType(): seleciona apenas um tipo;
  2. ForTypesDerivedFrom(): seleciona tipos que são atribuíveis tanto para uma classe base como para uma interface (de maneira equivalente a InheritedExport, na versão anterior do MEF);
  3. ForTypesMatching(Predicate predicado): seleciona tipos que atendam a um seletor booleano. Trata-se da forma mais flexível de seleção.

Diversas regras podem ser aplicadas para um tipo e serão aplicadas se não ocorrerem conflitos evidentes.

Controle mais preciso sobre o tempo de vida

O MEF 1 tem duas opções para o tempo de vida: por instância e compartilhado globalmente. Na nova versão, ExportFactory melhora a granularidade, permitindo que desenvolvedores criem novas instâncias de dependências e controlem o tempo de vida para cada parte.

Com isso, em vez de ter um objeto gerado sempre que o objeto pai for instanciado, pode-se fazer a geração apenas quando for realmente necessário Trata-se de uma espécie de importação scoped para uma unidade de trabalho.

A Microsoft continua solicitando feedback e sugestões de novas características, tanto para o MEF 2 quanto para o MEF 3, no fórum da tecnologia no CodePlex. Para mais informações relacionadas às ultimas modificações no MEF 2, visite o blog do time responsável pela BCL.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT