BT

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

por Jenni Konrad , traduzido por Elemar Jr. em 25 Abr 2012 |

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.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2013 C4Media Inc.
Política de privacidade
BT