Connect & Transform
DESIGN PATTERNS
Padrões de projeto para melhorar seu código OO
Thiago Gonzaga
ZUP IT
Twitter: @thiguetta
facebook: fb.com/thiguetta
Email: thiago.gonzaga@zup.com.br
• O que são Design Patterns
• Por que usar
• Tipos de padrões
• Criacionais
• Estruturais
• Comportamentais
• Padrões que serão abordados
• Considerações
• Leitura recomendada
Agenda
• Melhores práticas de codificação
• Padrões de código orientado a objeto
• Soluções para problemas recorrentes (Modelo)
• Reutilizável
O que são Design Patterns
• Flexibilidade
• Reusabilidade
• Vocabulário comum
• Manter o código limpo e legível
Por que usar?
• Criacionais
• Estruturais
• Comportamentais
Tipos de padrões
• Definir um processo de instanciação de objetos
• Encapsular conhecimento sobre os objetos
• Oculta como as instancias da classe são
criadas
• Flexibilidade: Quem, Como e Quando
Padrões Criacionais
• Composição das classes como estruturas
maiores
• Descreve maneira de compor classes de modo
a criar uma nova funcionalidade
• Flexibilidade de composição de objetos e a
habilidade de mudar a composição em tempo
de execução
Padrões Estruturais
• Diz respeito aos algoritmos
• Atribuição de responsabilidade entre as classes
• Padroniza comunicação e controle de fluxo
• Reduz acoplamento do código
Padrões Comportamentais
Criacional Estrutural Comportamental
Factory Adapter Chain of Responsibility
Builder Bridge Command
Prototype Composite Interpreter
Singleton Decorator Iterator
Facade Mediator
Flyweight Memento
Proxy Observer
State
Strategy
Template
Visitor
Criacional Estrutural Comportamental
Factory Adapter Chain of Responsibility
Builder Bridge Command
Prototype Composite Interpreter
Singleton Decorator Iterator
Facade Mediator
Flyweight Memento
Proxy Observer
State
Strategy
Template
Visitor
Factory
Builder
Facede
Chain of
Responsibility
Memento
State
Strategy
• Design Patterns é algo que se aperfeiçoa com a
experiência
• Mudança de mind-set de estruturado para OO
• Praticar clean code
• Crie uma conta no GitHub
• Contribua com projetos de software livre
Considerações finais
• Robert C. Martin. 2008. Clean Code: A
Handbook of Agile Software Craftsmanship (1
ed.). Prentice Hall PTR, Upper Saddle River, NJ,
USA.
• Erich Gamma, Richard Helm, Ralph Johnson,
and John Vlissides. 1995. Design Patterns:
Elements of Reusable Object-Oriented
Software. Addison-Wesley Longman Publishing
Co., Inc., Boston, MA, USA.
Para ler mais tarde
Obrigado
Connect & Transform
Thiago Gonzaga
ZUP IT
Twitter: @thiguetta
facebook: fb.com/thiguetta
Email: thiago.gonzaga@zup.com.br

Design patterns

  • 1.
    Connect & Transform DESIGNPATTERNS Padrões de projeto para melhorar seu código OO Thiago Gonzaga ZUP IT Twitter: @thiguetta facebook: fb.com/thiguetta Email: thiago.gonzaga@zup.com.br
  • 2.
    • O quesão Design Patterns • Por que usar • Tipos de padrões • Criacionais • Estruturais • Comportamentais • Padrões que serão abordados • Considerações • Leitura recomendada Agenda
  • 3.
    • Melhores práticasde codificação • Padrões de código orientado a objeto • Soluções para problemas recorrentes (Modelo) • Reutilizável O que são Design Patterns
  • 4.
    • Flexibilidade • Reusabilidade •Vocabulário comum • Manter o código limpo e legível Por que usar?
  • 5.
    • Criacionais • Estruturais •Comportamentais Tipos de padrões
  • 6.
    • Definir umprocesso de instanciação de objetos • Encapsular conhecimento sobre os objetos • Oculta como as instancias da classe são criadas • Flexibilidade: Quem, Como e Quando Padrões Criacionais
  • 7.
    • Composição dasclasses como estruturas maiores • Descreve maneira de compor classes de modo a criar uma nova funcionalidade • Flexibilidade de composição de objetos e a habilidade de mudar a composição em tempo de execução Padrões Estruturais
  • 8.
    • Diz respeitoaos algoritmos • Atribuição de responsabilidade entre as classes • Padroniza comunicação e controle de fluxo • Reduz acoplamento do código Padrões Comportamentais
  • 9.
    Criacional Estrutural Comportamental FactoryAdapter Chain of Responsibility Builder Bridge Command Prototype Composite Interpreter Singleton Decorator Iterator Facade Mediator Flyweight Memento Proxy Observer State Strategy Template Visitor
  • 10.
    Criacional Estrutural Comportamental FactoryAdapter Chain of Responsibility Builder Bridge Command Prototype Composite Interpreter Singleton Decorator Iterator Facade Mediator Flyweight Memento Proxy Observer State Strategy Template Visitor
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
    • Design Patternsé algo que se aperfeiçoa com a experiência • Mudança de mind-set de estruturado para OO • Praticar clean code • Crie uma conta no GitHub • Contribua com projetos de software livre Considerações finais
  • 19.
    • Robert C.Martin. 2008. Clean Code: A Handbook of Agile Software Craftsmanship (1 ed.). Prentice Hall PTR, Upper Saddle River, NJ, USA. • Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. Para ler mais tarde
  • 20.
    Obrigado Connect & Transform ThiagoGonzaga ZUP IT Twitter: @thiguetta facebook: fb.com/thiguetta Email: thiago.gonzaga@zup.com.br