Design patterns de uma vez por todas

1,780 views

Published on

Published in: Technology

Design patterns de uma vez por todas

  1. 1. Design Patterns de uma vez por todas
  2. 2. Agenda ● ● ● ● Quem?! O que é design pattern Gang of Four (GoF) Tipos de padrões ○ ○ ○ ○ ○ template method strategy observer singleton iterator
  3. 3. Quem?!
  4. 4. Quem?! Michael Granados @dgmike meadiciona.com/dgmike dgmike.com.br
  5. 5. Quem?! Michael Granados @dgmike meadiciona.com/dgmike dgmike.com.br
  6. 6. Quem?!
  7. 7. O que é design pattern? (…) Design Pattern, descreve uma solução geral reutilizável para um problema recorrente no desenvolvimento de sistemas de software orientados a objetos. — wikipedia (sic)
  8. 8. Gang of Four (GoF)
  9. 9. Gang of Four (GoF)
  10. 10. Gang of Four (GoF)
  11. 11. Gang of Four (GoF) O Gang of Four são os autores do livro "Design Patterns: Elements of Reusable Object- Oriented Software". Este importante livro descreve várias técnicas de desenvolvimento e armadilhas, além de fornecer vinte e três padrões de projeto de programação orientadas a objeto. Os quatro autores foram Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides. — Richard Carr (blackwasp.co.uk)
  12. 12. Gang of Four (GoF) Debate sugerido
  13. 13. Gang of Four (GoF) Debate sugerido Separe as coisas que mudam das coisas que são sempre as mesmas
  14. 14. Gang of Four (GoF) Debate sugerido Programe para uma interface e não para uma implementação
  15. 15. Gang of Four (GoF) Debate sugerido Prefira composição ao no lugar de herança
  16. 16. Gang of Four (GoF) Debate sugerido Delegue, delegue, delegue
  17. 17. Tipos de padrões ● ● ● Padrões de Criação ○ factory ○ factory method ○ builder ○ prototype ○ singleton Padrões estruturais ○ facade ○ adapter ○ flyweight ○ bridge ○ composite ○ decorator ○ proxy Padrões comportamentais ○ chain of ○ command responsibility ○ interpreter ○ mediator ○ iterator ○ memento ○ observer ○ state ○ strategy ○ visitor ○ template method
  18. 18. Tipos de padrões ● ● ● Padrões de Criação ○ factory ○ factory method ○ builder ○ prototype ○ singleton Padrões estruturais ○ facade ○ adapter ○ flyweight ○ bridge ○ composite ○ decorator ○ proxy Padrões comportamentais ○ chain of ○ command responsibility ○ interpreter ○ mediator ○ iterator ○ memento ○ observer ○ state ○ strategy ○ visitor ○ template method
  19. 19. template method O script precisa de uma alteração em uma determinada parte do processo para que seja usada de outra forma dependendo de sua apliação
  20. 20. template method
  21. 21. template method
  22. 22. template method
  23. 23. template method Não permite executar classes sem os mesmos métodos
  24. 24. template method
  25. 25. template method Não podemos instanciar uma classe abstrata
  26. 26. template method Não permite CRIAR uma classe sem esses métodos
  27. 27. strategy Apesar do template method resolver o problema de forma simples e direta às vezes queremos mudar grande parte do script
  28. 28. strategy
  29. 29. strategy
  30. 30. strategy
  31. 31. strategy
  32. 32. observer Integrar vários objetos a apenas um para que eles executem determinada ação a partir da ação executada pelo primeiro objeto
  33. 33. observer
  34. 34. observer
  35. 35. observer
  36. 36. singleton Garantir que a aplicação inteira deva possuir apenas uma instancia do objeto, mantendo um ponto global de acesso ao objeto
  37. 37. singleton
  38. 38. singleton
  39. 39. singleton
  40. 40. singleton
  41. 41. singleton
  42. 42. iterator Criar uma estrutura de objetos similares em forma de coleção a fim de poder acessar todos de uma só vez
  43. 43. iterator
  44. 44. iterator
  45. 45. iterator
  46. 46. iterator
  47. 47. iterator
  48. 48. iterator
  49. 49. referencias http://php.net Design Patterns In Ruby — Russ Olsen http://blackwasp.co.uk/GofPatterns.aspx http://sourcemaking.com/design_patterns/ http://pt.wikipedia.org/wiki/Padrão_de_projeto_de_software http://google.com http://github.com/dgmike/php-design-patterns
  50. 50. Dúvidas?

×