BT
x Por favor preencha a pesquisa do InfoQ !

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

Percebemos que você está utilizando um bloqueador de propagandas

Nós entendemos porquê utilizar um bloqueador de propagandas. No entanto, nós precisamos da sua ajuda para manter o InfoQ gratuito. O InfoQ não compartilhará seus dados com nenhum terceiro sem que você autorize. Procuramos trabalhar com anúncios de empresas e produtos que sejam relevantes para nossos leitores. Por favor, considere adicionar o InfoQ como uma exceção no seu bloqueador de propagandas.