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.

Avalie esse artigo

Relevância
Estilo/Redação

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 mensagens dessa discussão
Comentários da comunidade

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

Receber mensagens dessa discussão

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

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.