Trabalho com o MEF há cerca de duas semanas. Comecei a pensar sobre o que é o MEF, pesquisando para descobrir como usar o MEF e finalmente implementando um Host com 3 módulos. Os contratos estão provando ser fáceis de entender e os módulos são facilmente gerenciados.
Embora o MEF tenha um uso muito prático, eu me pergunto até que ponto? Quero dizer, todo mundo vai reescrever aplicativos existentes para extensibilidade?
Sim, isso soa e é incrivelmente impraticável. Retoricamente falando:
como o MEF está afetando as tendências atuais da programação?
você começou a procurar oportunidades para usar o MEF?
você começou a planejar uma grande reescrita de um aplicativo existente que pode se beneficiar da extensibilidade?
Dito isso, minhas perguntas são:
como sei quando devo planejar um novo projeto com extensibilidade?
como saberei se um projeto existente precisa ser reescrito para extensibilidade?
Alguém está usando o MEF?
fonte
Atualmente, estou usando o MEF em alguns projetos que incorporam o padrão de repositório.
Um está usando diferentes tipos de repositório durante o teste de unidade, o outro projeto está usando repositórios local (direto ao DB), remoto (WCF) e de teste.
Ambos os projetos podem alterar seus tipos de repositório por código ou configuração e são baseados nos metadados MEF / tipos Lazy.
Até o momento, os dois projetos estão executando incrivelmente bem.
fonte