Padrões de Projeto - Design Patterns e Anti-Patterns

2.317 visualizações

Publicada em

Esta track irá abordar o que você precisa fazer para reduzir significativamente as falhas de desenvolvimento de software e como reparar as suas causas para que eles não reapareçam. O lema é aprender com os erros! AntiPatterns destacam os problemas mais comuns que a indústria de software enfrenta e ao mesmo tempo fornece as soluções para que você possa reconhecer esses problemas, mostrando que o Software Configuration Management (SCM) não é nem muito duro e nem muito complicado.

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

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

Nenhuma nota no slide

Padrões de Projeto - Design Patterns e Anti-Patterns

  1. 1. Padrões de Projeto Design Patterns e AntiPatternsRodrigo KonoMVP Microsoft - MCP, MCT, MCTS, MCPD@rodrigokonoLG Sistemas
  2. 2. Rodrigo KonoMVP MicrosoftMCP – MCTS – MCPD – MCTFoco em desenvolvimento WEBDeveloper na LG SistemasFundador do DevGoiás.NETDez anos de comunidade .NETPalestrou em mais de 12 capitaisMais de 14.500 pessoas nesse tempoFinalista Imagine Cup 2005 – Brasil/Japão @rodrigokono - www.rodrigokono.net – kono@devgoias.net
  3. 3. O que é Design Patterns? 3
  4. 4. É um padrão!
  5. 5. Tipo um padrão de vida?!
  6. 6. Tipo um padrão de beleza?
  7. 7. Tipo a Ana Paula Padrão?
  8. 8. Design PatternsSolução reutilizável para problemas recorrentes no desenvolvimento software OO.
  9. 9. Design Patterns• POO de maneira inteligente o Otimização de uma estrutura/processo• Qualidade e reusabilidade de código• Soluções indicada para cenários específicos
  10. 10. Que padrão é esse?!
  11. 11. Anti-Pattern (antipadrões)
  12. 12. Anti-Pattern Solução comum e recorrente para determinados tipos de problemas com efeitos colaterais muito negativos e indesejáveis. Um Anti-Pattern pode te deixar em uma situação pior do que a de início.
  13. 13. Tipos de Anti-Patterns Problemas comuns nas fases de Arquitetura concepção, projeto e desenho de Sistema. Problemas comuns nas fases de Desenvolvimento codificação e desenvolvimento de aplicações Problemas que atingem a gerência de pessoal e de Projetos projetos 13
  14. 14. Anti-Pattern de Arquitetura Boa arquitetura é um fator crítico para o sucesso do desenvolvimento do sistema. Stovepipe system
  15. 15. Anti-Pattern de ArquiteturaIntellectual Violence Falas Típicas: “Utilizei um schema validator para poder validar se era possível o marshalling daquele stub” “Esta classe trabalha com o conceito de autômato-finito de três estados para fazer a busca em back-tracking em uma árvore binária” Problema: Membros da equipe conversam de teorias e termos desconhecidos pelos demais. Solução: estimular a difusão de conhecimentos dentro da equipe
  16. 16. Anti-Pattern de ArquiteturaReinventing the Wheel Falas Típicas: “Escrevemos uma classe para manipular XML melhor do que as classes oficiais do C++!” “A ferramenta de UML era muito ruim, por isso decidimos implementar uma outra...” Problema: Decisão de reimplementar tecnologias já existentes ou fazer “do jeito da equipe” atrasam e confundem o projeto. Solução: Buscar e pesquisar a melhor solução e utilizar os padrões.
  17. 17. Anti-Pattern de Desenvolvimento Utilizam várias abordagens de refatoração formais e informais. Gold plating
  18. 18. Anti-Pattern de DesenvolvimentoGolden Hammer Falas Típicas: “Utilizamos XML para representar os objetos. E também para servir como banco de dados, troca de mensagens, armazenar imagens codificadas, substituir as páginas html, e também para...” Problema: Um conceito ou tecnologia familiar é aplicado de forma errada, para resolver todo e qualquer problema. Solução: Estudo de novas idéias e soluções, treinamento e exposição a novos paradigmas permite pensar em soluções mais adequadas
  19. 19. Anti-Pattern de DesenvolvimentoThe Blob Falas típicas: “Para manipular qualquer tipo de documento, utilizamos a classe UtilidadesDocumento. Os 145 métodos dela permitem ler e salvar documentos .doc, .xls, .txt, .rtf, .html, .xml... Uma beleza!” Resumo: Classes são implementadas ao estilo procedural, algumas com centenas de métodos e outras apenas como depósitos de dados. Solução: Redistribuição de responsabilidades (SoC) e reengenharia
  20. 20. Saiba como evitar um acidente!
  21. 21. Aprenda com os erros
  22. 22. Mas conheça os problemas para não cair emarmadilhas!
  23. 23. Sistemas baseados em padrões têm mais qualidade
  24. 24. Equipes que evitam anti-pattern têm menos surpresas desagradáveis
  25. 25. Dicas para ser um bom desenvolvedor 1. Conhecer e saber aplicar Design Pattern. 2. Estudar Anti-Pattern
  26. 26. Por onde estudar?! - Coloque em prática. - Discuta sobre determinado pattern com desenvolvedores mais experientes.Design Patterns: AntiPatterns andElements of Reusable Patterns in SoftwareObject-Oriented Software ConfigurationGOF Management
  27. 27. Rodrigo Kono www.rodrigokono.netObrigado! kono@devgoias.net @rodrigokono 27

×