Daniel Mota - Frameworks

627 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
627
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
7
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Daniel Mota - Frameworks

  1. 1. Daniel MotaRubens BrandasCatu-BA, 2011Frameworkswww.danielmota.com.br
  2. 2. Qual o problema da produção de softwares?Programar é difícil !Onde está a maior dificuldade?Os programadores são mortais, é precisofornecer formas de re-uso que vão além decódigo: re-uso de análise, design, código."Interface design and functional factoring constitute the keyintelectual content of software and is far more difficult to createor re-create than code" (Peter Deutsch)www.danielmota.com.br
  3. 3. Solução: Frameworks!"It shouldnt take a good programmer to build agood program." (Peter Deutsch)www.danielmota.com.br
  4. 4. O que será abordado:1. O que é um Framework?2. Características básicas dos Frameworks3. Arquitetura base dos Frameworks4. Diferenças no uso de Framework e Biblioteca de Classes5. Vantagens e Desvantagens de Frameworks6. Tipos e Classificações de Frameworks7. Uma lista de FrameworksFrameworks
  5. 5. O que é um framework?“Framework é um conjunto de classes que colaboram pararealizar uma responsabilidade para um domínio de umsubsistema da aplicação.”— Fayad e SchmidtFrameworks www.danielmota.com.br
  6. 6. Um framework provê uma solução para umafamília de problemas semelhantes, usando umconjunto de classes e interfaces que mostracomo decompor a família de problemas. Essesobjetos e classes colaboram para cumprir suasresponsabilidades, devendo ser flexível eextensível para permitir a construção de váriasaplicações com pouco esforço, especificandoapenas as particularidades de cada aplicaçãoFrameworks www.danielmota.com.br
  7. 7. FrameworksCBDifícil implementar Framework Fácil implementar Framework321Awww.danielmota.com.br
  8. 8. Características Básicas●Um framework deve ser reusável, para isso deve primeiro ser usável●Bem documentado e Fácil de usar●Deve ser extensível●O framework contém as funcionalidades abstratas (semimplementação), que deve ser completada●Deve ser de uso seguro●O desenvolvedor de aplicações não pode destruir o framework●Deve ser eficiente●Devido a seu uso em muitas situações, algumas das quaispoderão necessitar de eficiência●Deve ser completo●Para endereçar o domínio do problema pretendidoFrameworks www.danielmota.com.br
  9. 9. Frameworks www.danielmota.com.br
  10. 10. Arquitetura baseBoa parte dos frameworksusam a arquitetura Model-view-controller (MVC), é umpadrão de arquitetura desoftware que visa separar alógica de negócio da lógica deapresentação, permitindo odesenvolvimento, teste emanutenção isolado de ambos.FrameworksAs linhas sólidas indicamassociação direta e as tracejadasindicam associação indireta.www.danielmota.com.br
  11. 11. Objetivo do MVCSeparar dados, ou lógica denegócios, (Model) da interface dousuário (View) e do fluxo daaplicação (Control).FrameworksNa arquitetura MVC, a lógica de negócios, não sabe de quantas nemquais interfaces com o usuário estão exibindo seu estado. Com asdiversas possibilidades de interfaces, a MVC é uma ferramentaindispensável para desenvolvermos sistemaswww.danielmota.com.br
  12. 12. Framework vs. Biblioteca deClasses OONuma biblioteca de classes, cada classe é única eindependente das outras. Já num framework, asdependências/colaborações estão embutidas, impondo ummodelo de colaboração.FrameworksBCA DBC ADBiblioteca OO Frameworkwww.danielmota.com.br
  13. 13. VantagensSe o framework estiver pronto, os benefícios sãoclaros em termos de:●Redução de custos●Redução de time-to-market●Maximização de reuso (análise, design, código,testes)◦ Desenvolvedores se concentram em adicionarvalor em vez de reinventar a rodaFrameworks www.danielmota.com.br
  14. 14. VantagensAlém de proporcionar:●Melhor consistência e compatibilidade entreaplicações●Não se perde o conhecimento com a saída deespecialistas e o conhecimento pode serusado/estudado sem a presença do especialista◦ Há menos manutençãoFrameworks www.danielmota.com.br
  15. 15. Desvantagens●Se tiver que construir um framework écomplexo●Reuso não vem sozinho, deve ser planejado●Benefícios são realizados em longo prazo●Ainda há poucas empresas trabalhando comframeworkFrameworks www.danielmota.com.br
  16. 16. Tipos de FrameworksClassificação de frameworks é feita de acordocom duas dimensões:●Como o Framework é usado.●Onde o Framework é usadoFrameworks www.danielmota.com.br
  17. 17. Classificação: Como é usado●Inheritance-focused: Estende ou modifica asfuncionalidades pela definição de sub-classes comoverride de métodos;●Composition-focused: Usa as funcionalidades jápresentes no framework, sem visualizar ou alterar;●Híbridos: é inheritance-focused com algumafuncionalidade pronta.Frameworks www.danielmota.com.br
  18. 18. Classificação: Onde é usadoFramework de suporte: Provê serviços de nível desistema operacional (e não de aplicação), provendo:●Acesso a arquivos●Computação distribuída●Device drivers●Estes são casos rarosFrameworks www.danielmota.com.br
  19. 19. Classificação: Onde é usado●Framework de aplicação:chamado de frameworkhorizontal, encapsulaconhecimento aplicável auma vasta gama deaplicações, resolve apenasuma fatia do problema daaplicação.Frameworks www.danielmota.com.br
  20. 20. Classificação: Onde é usado●Framework de domínio:chamado de frameworkvertical. Encapsulaconhecimento aplicável aaplicações pertencendo aum domínio particular deproblema. Resolve boaparte da aplicaçãoFrameworks www.danielmota.com.br
  21. 21. Frameworks Horizontais●Interface do Usuário (GUI)●Apple MacApp●Corel/Inprise/Borland OWL●Java Foundation Classes (JFC/Swing)●Microsoft Foundation Classes (MFC)●Frameworks para persistência●Exemplo: TopLink ou CocoBase●Camada acima do JDBC para prover mapeamento objeto-relacionalFrameworks www.danielmota.com.br
  22. 22. Frameworks Horizontais●Middleware●Enterprise Java Beans●Microsoft MTS/COM+●Frameworks MVC●Struts●IBM servlet manager●Oracle9iAS MVC Framework●WebWork●Zend Framework●Java Infobus (Framework para passar dados entre Java Beans)Frameworks www.danielmota.com.br
  23. 23. Frameworks Verticais●Visio, Jhotdraw●Editores de desenho estruturado●IBM San Francisco●Para construção de aplicações financeiras complexas●Frameworks para jogos●Landin e Niklasson Framework●Jogos de dados●Rogers Framework●Framework para monitoração de risco financeiroFrameworks www.danielmota.com.br
  24. 24. Referencias● WIKIPÉDIA, MVC. <http://pt.wikipedia.org/wiki/MVC>. Acesso em 27/05/2011.●________, Framework. http://pt.wikipedia.org/wiki/Framework. Acesso em27/05/2011.●SAUVÉ, Jacques. Frameworks. <http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/arqu/mvc/mvc.htm>.Acesso em 27/05/2011.●________, Model-View-Controller (MVC)http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/map2.htm>. Acesso em27/05/2011.Frameworks www.danielmota.com.br

×