MEF DotNetArchitects

19
MEF – Managed Extensibility Framework 12/06/2010 Twitter: @fabiomargarito E-mail: [email protected] Blog: www.mgrtconsultoria.com

description

Palestra sobre MEF no DotNetArchitects

Transcript of MEF DotNetArchitects

Page 1: MEF DotNetArchitects

MEF – Managed Extensibility Framework

12/06/2010

Twitter: @fabiomargaritoE-mail: [email protected]: www.mgrtconsultoria.com

Page 2: MEF DotNetArchitects

• 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

Page 3: MEF DotNetArchitects

3

Agenda

− Sonhos de um sistema

− Princípios de projetos orientados a objetos (S.O.L.I.D)

− MEF

Page 4: MEF DotNetArchitects

4

Sonhos de todo sistema

− Redução dos custos de manutenção

− Longo tempo de vida sem sofrimento

− Extensíbilidade

Page 5: MEF DotNetArchitects

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

Page 6: MEF DotNetArchitects

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

Page 7: MEF DotNetArchitects

7

Princípios de projetos orientados a objetos (S.O.L.I.D)− DEMOs

Page 8: MEF DotNetArchitects

8

Soluções para extensibilidade− System.addin− MEF

Page 9: MEF DotNetArchitects

9

System.addin

− System.addin, ou MAF(Managed Addin Framework), é um framework para criação de aplicações do tipo plugin/addin

Page 10: MEF DotNetArchitects

10

System.addin – Características− Discovery− Activation− Versioning − Isolation− Lifetime Management− Sandboxing− Unloading

Page 11: MEF DotNetArchitects

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

Page 12: MEF DotNetArchitects

12

MEF – Conceitos básicosParte : é a peça integrante de um quebra cabeças.

Con

trat

o

Catá

log

o

Con

tain

er

Page 13: MEF DotNetArchitects

13

MEF – Arquitetura

Page 14: MEF DotNetArchitects

14

MEF – Conceitos básicos

Import

Export

Composed

Page 15: MEF DotNetArchitects

15

MEF – Aprendendo um pouco mais

Demos

Page 16: MEF DotNetArchitects

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)

Page 17: MEF DotNetArchitects

17

Dúvidas?

Page 19: MEF DotNetArchitects

19