mef dotnetarchitects
DESCRIPTION
Palestra sobre MEF no DotNetArchitectsTRANSCRIPT
MEF – Managed Extensibility Framework
12/06/2010
Twitter: @fabiomargaritoE-mail: [email protected]: www.mgrtconsultoria.com
• Mais de 10 anos de experiência em TI• Trabalha com .Net desde as versões Beta• Atua como arquiteto de software/soluções em uma grande instituição financeira• Professor universitário• Membro ativo do grupo DotNetArchitect• Autor de artigos para a revista .Net Magazine
Fabio Margarito Martins de Barros
3
Agenda
− Sonhos de um sistema
− Princípios de projetos orientados a objetos (S.O.L.I.D)
− MEF
4
Sonhos de todo sistema
− Redução dos custos de manutenção
− Longo tempo de vida sem sofrimento
− Extensíbilidade
5
Princípios de projetos orientados a objetos (S.O.L.I.D)− SRP: Principío da responsabilidade
exclusiva− OCP: Princípio aberto fechado− LSP: Princípio de substituição de
Liskov− DIP: Princípio da inversão de
dependência− ISP: Interface segregation
6
Princípios de projetos orientados a objetos (S.O.L.I.D)− SRP: Principío da responsabilidade
exclusiva− OCP: Princípio aberto fechado− LSP: Princípio de substituição de
Liskov− DIP: Princípio da inversão de
dependência− ISP: Interface segregation
7
Princípios de projetos orientados a objetos (S.O.L.I.D)− DEMOs
8
Soluções para extensibilidade− System.addin− MEF
9
System.addin
− System.addin, ou MAF(Managed Addin Framework), é um framework para criação de aplicações do tipo plugin/addin
10
System.addin – Características− Discovery− Activation− Versioning − Isolation− Lifetime Management− Sandboxing− Unloading
11
MEF - O que é MEF?É um biblioteca que auxilia a criação de aplicações extensíveis e é parte integrante do .Net Framework 4.0
12
MEF – Conceitos básicosParte : é a peça integrante de um quebra cabeças.
Con
trat
o
Catá
log
o
Con
tain
er
13
MEF – Arquitetura
14
MEF – Conceitos básicos
Import
Export
Composed
15
MEF – Aprendendo um pouco mais
Demos
16
MEF – Características
− Roda no AppDomain da aplicação host− Monta todo o grafo de dependência
das partes− Descoberta dinâmica de partes − Controle do tempo de vida das partes− Carga tardia(Lazy Loading)
17
Dúvidas?
18
Links
− Extensibilidade com MEF ou System.Addinhttp://blogs.msdn.com/b/otavio/archive/2010/05/13/extensibilidade-com-mef-ou-system-addin.aspx
− S.O.L.I.Dhttp://blogs.msdn.com/b/otavio/archive/2010/05/13/extensibilidade-com-mef-ou-system-addin.aspx
19