O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed Extensibility Framework (MEF)

2.579 visualizações

Publicada em

O Managed Extensibility Framework (MEF) é uma nova biblioteca no Microsoft. NET Framework 4 que resolve problemas de software monolítico, simplificando o design de extensões de aplicações e componentes. Nesta sessão, você aprenderá o básico do MEF e verá o MEF sendo utilizado em um uma variedade de aplicações criadas no .NET Framework.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed Extensibility Framework (MEF)

  1. 1. SETEMBRO, 2010 | SÃO PAULO<br />
  2. 2. Instruções gerais (hidden slide):<br />Instruções aos palestrantes: Complete este slide para que o Track Owner avalie a sequência da sua apresentação, tópicos cobertos, integração das demos e alinhamento do conteúdo com a descrição e nível da sessão. <br /><ul><li>Título:Como e onde devo utilizar o ManagedExtensibility Framework (MEF)?
  3. 3. Nível Técnico:300
  4. 4. Audiência foco:Desenvolvedores com experiência em programação orientada a objetos e na linguagem de programação C# 3 ou superior
  5. 5. Objetivos (quais são as três principais mensagens que você gostaria que a audiência absorva):
  6. 6. 1Motivações para criação do MEF como facilitador na extensão de software
  7. 7. 2O princípio de funcionamento do MEF: exportação, importação e composição
  8. 8. 3A integração do MEF com o .NET Framework 4 e o Silverlight 4
  9. 9. Sequência da sua apresentação (incluindo as demos):</li></li></ul><li>CÓDIGO DA SESSÃO:DEV302<br />Como e onde devo utilizar o ManagedExtensibility Framework (MEF)?Nível Técnico: 300<br />Rogério Moraes de Carvalho<br />Consultor e Instrutor de TI<br />VITA Informática<br />@rogeriomc<br />
  10. 10. AgendaManagedExtensibility Framework (MEF)<br />Objetivos<br />Princípio aberto-fechado<br />Plug-ins<br />Problemas de extensibilidade<br />O ManagedExtensibility Framework (MEF)<br />O MEF como facilitador da extensibilidade<br />Diagrama de extensibilidade com MEF<br />Funcionamento do MEF<br />Exportação e importação no MEF<br />Composição no MEF<br />
  11. 11. AgendaManagedExtensibility Framework (MEF)<br />Demo 1: Fundamentos do MEF<br />Criação tardia de instância<br />Demo 2: Criação tardia de instância<br />Tempo de vida das partes<br />Demo 3: Tempo de vida das partes<br />MEFContrib<br />
  12. 12. ObjetivosPrincipais assuntos a serem abordados<br />Exposição da importância da extensibilidadeno desenvolvimento de software<br />Introdução à nova biblioteca MEF<br />Incorporada ao .NET Framework 4 e ao Silverlight 4<br />Apresentação de quando e como o MEF deve ser usado<br />
  13. 13. Princípio aberto-fechadoIntrodução e conceito do princípio<br />Termo introduzido por Bertrand Meyer na primeira edição do seu livro Object-Oriented Software Construction, em 1988<br />Em 1996, Robert C. Martin escreveu o influente artigo “The Open-ClosedPrinciple”<br />Entidades de software devem serabertas para extensão,mas fechadas para modificação<br />Entidade<br />
  14. 14. Plug-insConceito e vantagens de uso<br />Plug-in<br />Aplicação hospedeira<br />Gerenciador<br />de plug-ins<br />Serviços<br />O que é um plug-in?<br />Componente de software para acrescentar funcionalidades específicas a uma aplicação maior<br />Vantagens de uso de plug-ins<br />Extensão de aplicações com novas funcionalidades desenvolvidas por terceiros<br />Facilita o acréscimo de novas funcionalidades<br />Reduz o tamanho de uma aplicação<br />Separação de código-fonte numa aplicação devido a incompatibilidades em licenças de software<br />
  15. 15. Problemas de extensibilidadeDificuldades mais comuns<br />É comum que aplicações hospedeiras criem uma infraestrutura própria para permitirem extensão<br />Sem reuso em outras implementações<br />Alguns frameworks .NET de extensão<br />ManagedAdd-In Framework (MAF)<br />Projetado no .NET Framework para gerenciar extensões<br />Plux.NET<br />http://ase.jku.at/plux/<br />Mono.Addins<br />http://monoaddins.codeplex.com/<br />CompactPlugs & CompactInjection<br />http://compactplugs.codeplex.com/<br />
  16. 16. O ManagedExtensibility Framework (MEF)Conceito<br />O que é o MEF?<br />Framework para simplificar a criaçãode aplicações extensíveis<br />Que recursos o MEF oferece?<br />Recursos de descoberta e composição que permitem carregar dinamicamente extensões de aplicações<br />Qual a principal vantagem fornecida pelo MEF?<br />Facilidade de transformar aplicações estaticamente compiladas para dinamicamente compostas<br />
  17. 17. O MEF como facilitador da extensibilidadeSolução de problemas de extensibilidade<br />Padrão para exposição e consumo de extensões<br />Facilita o reuso de extensões em várias aplicações<br />Diversas abordagens possíveis de descoberta<br />Facilita a localização e o carregamento de extensões<br />Dispensa a necessidade do registro explícito das extensões disponíveis<br />Metadados permitem marcar extensões<br />Facilita a consulta e filtragem de extensões<br />
  18. 18. Diagrama de extensibilidade com MEFRelacionamento entre os componentes do MEF<br />
  19. 19. Funcionamento do MEFCatálogo e contêiner e partes de composição<br />Simplificadamente, o MEF é composto por:<br />Catálogo (Catalog)<br />Responsável por descobrir extensões<br />Contêiner de composição (CompositionContainer)<br />Responsável por coordenar a criação e satisfazer as dependências das partes de composição<br />Parte de composição (ComposablePart)<br />Importações (Imports) <br />Especificação declarativa de suas dependências<br />Exportações (Exports)<br />Especificação declarativa de suas capacidades<br />
  20. 20. Exportação e importação no MEFCapacidades e dependências de partes de composição<br />Exportação (Export)<br />Uma parte de composição oferece um ou mais serviços (exportações)<br />Importação (Import)<br />Uma parte de composição pode depender de um ou mais serviços externos (importações)<br />Contrato (Contract)<br />Exportações e importações têm contratos<br />Contratos são as pontes entre exportações e importações<br />
  21. 21. Exportação e importação no MEFCapacidades e dependências de partes de composição<br />Eutenho<br />Eupreciso<br />
  22. 22. Composição no MEFCatálogo<br />O catálogo fornece as partes<br />Catálogo<br />
  23. 23. Composição no MEFContêiner de composição<br />O contêiner faz as combinações<br />Catálogo<br />
  24. 24. Composição no MEFCombinações das partes de composição dos catálogos<br />AggregatingCatalog<br />O contêiner faz as combinações<br />DirectoryCatalog<br />AssemblyCatalog<br />Catálogo<br />TypeCatalog<br />
  25. 25. Composição no MEFEsquema de composição<br />Parte<br />Aplicação hospedeira<br />Precisa de um IContrato<br />[Import]<br />[Export]<br />Tem um IContrato<br />Contêiner de composição<br />Extensão A<br />Parte<br />
  26. 26. Fundamentos do MEF<br />
  27. 27. Criação tardia de instância<br />Parte A<br />Parte B<br />
  28. 28. Criação tardia de instância<br />Parte A<br />Lazy<br /><B><br />
  29. 29. Criação tardia de instância<br />
  30. 30. Tempo de vida das partes<br />Parte compartilhada(Shared)<br />Parte não compartilhada(Non-Shared)<br />Contêiner<br />Contêiner<br />Parte A<br />Parte B<br />Parte B<br />Parte B<br />
  31. 31. Tempo de vida das partes<br />
  32. 32. MEFContribExtensões ao MEF<br />O que é o MEFContrib?<br />Biblioteca de extensões ao ManagedExtensibility Framework (MEF) desenvolvida pela comunidade<br />Recursos<br />Extensões<br />Catálogo genérico<br />Integração<br />Integração com Unity<br />Modelos de programação<br />Modelo de Provider<br />Modelo de convenções<br />
  33. 33.
  34. 34. Conteúdo relacionadoSessões do Tech·Ed Brasil 2010<br />DEV 201 - Novidades e razões para migrar para o Microsoft .NETFramework 4 (João Paulo Clementi e Diego Blanco)<br />DEV 301 - Novidades do Windows Communication Foundation (WCF) no .NET Framework 4 (Evilázaro Alves)<br />DEV 305 - Implementando Serviços RESTful usando o Microsoft .NET Framework (Israel Aece)<br />DEV 402 - Desenvolvimento com C# no mundo moderno(Alfred Myers)<br />
  35. 35. Conteúdo relacionadoSites e livros indicados<br />MEFCommunity Site (Hospedado no CodePlex)http://mef.codeplex.com/<br />MEFContrib (Hospedado no CodePlex)<br />http://mefcontrib.codeplex.com/<br />Object-Oriented Software Construction, 2ndEditionAutor: Bertrand Meyer - Editora: Prentice Hall<br />Clean Code: A Handbook of Agile Software CraftsmanshipAutor: Robert C. Martin - Editora: Prentice Hall<br />
  36. 36. © 2008 Microsoft Corporation.Todos os direitos reservados.Microsoft, Windows, Windows Vista e outros nomes de produtos são ou podem ser marcas registradas e/ou marcas comerciais nos EUA e/ou outros países.<br />Este documento é meramente informativo e representa a visão atual da Microsoft Corporation a partir da data desta apresentação.Como a Microsoft deve atender a condições de mercado em constante alteração, este documento não deve ser interpretado como um compromisso por parte da Microsoft, e a Microsoft não pode garantir a precisão de qualquer informação fornecida após a data desta apresentação.A MICROSOFT NÃO DÁ QUALQUER GARANTIA, SEJA ELA EXPRESSA, IMPLÍCITA OU ESTATUTÁRIA, REFERENTE ÀS INFORMAÇÕES DESTA APRESENTAÇÃO.<br />
  37. 37. Por favor,<br />preencha a avaliação!<br />DEV302 - Como e onde devo utilizar oManagedExtensibility Framework (MEF)?<br />Rogério Moraes de Carvalho<br />@rogeriomc<br />
  38. 38. Título do anúncio do produto<br />
  39. 39. Template de PowerPoint Cor do Subtítulo<br />Exemplo de slide com subcabeçalho<br />Defina o cabeçalho do slide em "Title Case"<br />Defina os subcabeçalhos em "sentence case"<br />Procure definir o subcabeçalho em 36pt ou menor para que caiba em uma só linha<br />A cor do subcabeçalho é definida para este template, mas deve ser selecionada no PowerPoint 2007, é a quinta cor de fonte da esquerda para a direita<br />
  40. 40. Exemplo de preenchimento<br />Diretrizes para PowerPoint<br />A fonte, o tamanho e a cor do texto foram formatados para você no Slide Mestre<br />Use a palheta de cores exibida abaixo<br />Cor de hyperlink:www.microsoft.com<br />Exemplo de preenchimento<br />Exemplo de preenchimento<br />Exemplo de preenchimento<br />Exemplo de preenchimento<br />Exemplo de preenchimento<br />
  41. 41. Slide para exibir código de software<br />Use este layout para exibir o código de software<br />Esta fonte é Consolas, uma fonte monoespaçada<br />O slide não possui bullets, mas os níveis podem ser recuados usando-se o ícone "Aumentar Nível de Lista" no menu de Início<br />Para usar aspas normais " em vez de aspas inglesas ” faça o seguinte:<br />Clique no Botão do Office no canto superior esquerdo<br />Na parte inferior do menu, escolha as Opções do PowerPoint<br />No painel à esquerda, selecione Revisão de Texto<br />Clique no botão Opções de AutoCorreção<br />Selecione a aba AutoFormatação ao Digitar, e desmarque a opção "Aspas normais" por "aspas inglesas".Em seguida clique em OK.<br />
  42. 42. Formato de tabela<br />
  43. 43. Exemplo de gráfico de barras<br />
  44. 44. Exemplo de gráfico em pizza<br />
  45. 45. Título do Vídeo<br />
  46. 46. Título da Demo<br />

×