SlideShare uma empresa Scribd logo
Workshop
Os principais Design Patterns
Sobre
• Microsoft MVP – Visual Studio and Development Technologies
• Trabalha com desenvolvimento Web desde 2003
• Atuação em projetos nacionais e internacionais de grande porte
• Hoje realiza consultorias e treinamentos na área
Agenda
• Antes de Começar
• Introdução
• Cuidados e Quando Utilizar
• Tipos de Design Patterns
• Alguns Patterns
• Factory
• Abstract Factory
• Singleton
• Adapter
• Facade
• MVC
Introdução
 Padrões de escrita de código
 Independentes de linguagem
 Design Patterns foi um conceito iniciado em 1994
 Criado por um grupo de 4 pessoas, conhecido como Gang of Four
 Em 1994, Erich Gamma, Richard Helm, Ralph Johnson e John Vissides
publicaram um livro:
 Design Patterns – Elements of Reusable Object-Oriented Software
Quais são?
 Factory Pattern
 Abstract Factory
Pattern
 Singleton Pattern
 Builder Pattern
 Prototype Pattern
 Adapter Pattern
 Bridge Pattern
 Filter Pattern
 Composite Pattern
 Decorator Pattern
 Facade Pattern
 Flyweight Pattern
 Proxy Pattern
 Chain of
Responsibility
Pattern
 Command Pattern
 Interpreter Pattern
 Iterator Pattern
 Mediator Pattern
 Memento Pattern
 Observer Pattern
 State Pattern
 Null Object Pattern
 Strategy Pattern
 Template Pattern
 Visitor Pattern
 MVC Pattern
 Business Delegate
Pattern
 Composite Entity
Pattern
 Data Access Object
Pattern
 Front Controller
Pattern
 Intercepting Filter
Pattern
 Service Locator
Pattern
 Transfer Object
Pattern
Além dos DesignPatterns
 A importância de um código limpo
 Um código bem escrito já é documentado
 Identação, nomeação de variáveis, linguagem ubíqua, complexidade
de código, divisão de responsabilidades, separação de conceitos, etc
Cuidados
 Não utilize o que você não sabe
 Não é por que você sabe que tem que utilizer
 Não é uma competição “Quem usa mais DP”
Tipos de DesignPatterns
 Creational Patterns (Criacional)
 Fornecem uma maneira de criar objetos sem a necessidade do uso de uma
nova instância do mesmo (Baseado em abstração por exemplo).
 Fornecem maior flexibilidade na decisão de qual objeto será criado.
 Structural Patterns (Estrutural)
 Focam nas classes e composição de objetos.
 Utilizam o conceito de herança para compor interfaces e então definir objetos
obtendo assim novas funcionalidades.
 Behavioral Patterns (Comportamental)
 Focam na comunicação entre objetos.
Factory
 É um dos Patterns mais utilizados
 Fornece um meio de criar um objeto sem expor sua lógica de criação
 Durante o consumo deste objeto, ele será referenciado como uma
interface.
Factory
AbstractFactory
 Atua como um super-factory, que cria outras factories
 Também pode ser chamado de “Factory of Factories”
 Neste padrão, uma interface é responsável por cirar uma Factory de
um objeto relacionado, sem expor suas classes
AbstractFactory
Singleton
 Este padrão envolve uma classe na qual a responsabilidade é criar um
objeto e ter certeza que apenas um deste objeto será criado.
 Esta classe fornece uma maneira de acessar este objeto, na qual pode
ser chamada diretamente, sem a necessidade de uma nova instância.
Singleton
Adapter
 Este padrão funciona como uma ponte entre duas interfaces
incompatíveis.
 Ele é na verdade uma única classe cuja responsabilidade é unir
funcionalidades de interfaces independentes e imcompatíveis.
Adapter
FACADE
 Este padrão esconde a complexidade do sistema provisionando uma
interface ao cliente.
 Esta interface prove métodos simplificados ao cliente, tornando a vida
dele mais fácil.
FACADE
MVC
 Sigla para Model-View-Controller
 É um padrão de separação de responsabilidades
 Model – Representa seu domínio, o core, os objetos do seu Sistema
 View – Representa a tela, a interface com o usuário
 Controller – Faz a ligação entre o modelo e a visão. Recebe os dados
da tela, trabalha no model e retorna um resultado para tela.
MVC
Fonte
 Design Patterns in Java
 http://www.tutorialspoint.com/design_pattern/factory_pattern.htm
TREINAMENTO
Aplicando Design Patterns em Aplicações
Corporativas
http://bit.ly/abt-5508
OBRI
GADO
5507   os principais design patterns
5507   os principais design patterns

Mais conteúdo relacionado

PPTX
Prototype1 - thiago
PPT
Prototype
PPT
Patterns
PDF
Padroes de Projeto
PDF
Quick reference
PPTX
Construtores em Java
PDF
Java - Aula 3 - Construtores
PDF
Conhecendo A Linguagem de Programação Java
Prototype1 - thiago
Prototype
Patterns
Padroes de Projeto
Quick reference
Construtores em Java
Java - Aula 3 - Construtores
Conhecendo A Linguagem de Programação Java

Mais procurados (17)

PPTX
Estudos Technocorp
PDF
Java básico
PDF
POO - Aula 07 - Construtores e Atributos de Classe
PPT
http://www.dm.ufscar.br/~waldeck/curso/java/
PDF
Programação Orientada a Objetos
PDF
Curso de OO com C# - Parte 01 - Orientação a objetos
ODP
Construção de Frameworks com Annotation e Reflection API em Java
PPT
Aula5
PPT
Introdução a programação Orientada a Objeto
PDF
Iniciando no Codeigniter
DOCX
Java Day 2011 - Reflection: Maximizando a produtividade em Java
PDF
ODP
Java 09 Heranca Reescrita Polimorfismo
PPTX
Introdução à Metaprogramação com Java Reflection API
PPTX
JAVA - Herança
Estudos Technocorp
Java básico
POO - Aula 07 - Construtores e Atributos de Classe
http://www.dm.ufscar.br/~waldeck/curso/java/
Programação Orientada a Objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
Construção de Frameworks com Annotation e Reflection API em Java
Aula5
Introdução a programação Orientada a Objeto
Iniciando no Codeigniter
Java Day 2011 - Reflection: Maximizando a produtividade em Java
Java 09 Heranca Reescrita Polimorfismo
Introdução à Metaprogramação com Java Reflection API
JAVA - Herança
Anúncio

Destaque (13)

PDF
Padrão Observer (Java)
PPTX
Design Patterns - Com Java
PPT
Padrão Observador (Orientação à Objetos)
PDF
Design patterns
PPT
Gof design patterns
PDF
Padrões de Projeto de Software
PDF
Introdução a Padrões de Projeto - Engenharia de Software
PDF
Design patterns de uma vez por todas
PDF
Observer - Padrões de projeto
PPTX
Design Patterns
PDF
design patterns java
PDF
Exemplos de Design Patterns em Java
PDF
Padrões de Projeto - Design Patterns
Padrão Observer (Java)
Design Patterns - Com Java
Padrão Observador (Orientação à Objetos)
Design patterns
Gof design patterns
Padrões de Projeto de Software
Introdução a Padrões de Projeto - Engenharia de Software
Design patterns de uma vez por todas
Observer - Padrões de projeto
Design Patterns
design patterns java
Exemplos de Design Patterns em Java
Padrões de Projeto - Design Patterns
Anúncio

Semelhante a 5507 os principais design patterns (20)

PDF
Design Patterns
PPT
Apresentação Introdução Design Patterns
ODP
Design Patterns
PPT
design patterns - introdução
PDF
Design Patterns - Aula 2
PDF
BlingTech - Padrões de Projeto
PPTX
Design pattern
PPTX
Padrões de projeto
PPT
Padrões de design orientado a objetos
PPT
Design Patterns
ODP
Padrões de Projeto para Jogos
PPT
pec-12-patterns-intro.ppt
PDF
GoF Design Patterns - Borland Conference (BorCon) 2004
PDF
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
PDF
Design Patterns - Aula 1
DOC
Travalho versao final
PDF
Design Patterns - Introdução e Práticas
PDF
Padrões de Projeto (GoF)
PDF
Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...
PPT
Padroes de projetos gof
Design Patterns
Apresentação Introdução Design Patterns
Design Patterns
design patterns - introdução
Design Patterns - Aula 2
BlingTech - Padrões de Projeto
Design pattern
Padrões de projeto
Padrões de design orientado a objetos
Design Patterns
Padrões de Projeto para Jogos
pec-12-patterns-intro.ppt
GoF Design Patterns - Borland Conference (BorCon) 2004
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Patterns - Aula 1
Travalho versao final
Design Patterns - Introdução e Práticas
Padrões de Projeto (GoF)
Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...
Padroes de projetos gof

Mais de Andre Baltieri (20)

PPTX
Clean Code - Promob DevDay 2022
PPTX
31/08/2019 - Flutter Talks
PPTX
Refatorando para Testes de Unidade
PPTX
PWA: State of Art
PPTX
PWAs no seu Desktop
PPTX
Criando APIs com Node e TypeScript
PPTX
Otimizando seu cenário de APIs
PPTX
Turbine sua API no Microsoft Azure
PPTX
Progressive Web Apps: Um novo mundo
PPTX
ASP.NET Core APIs: Performance Tips
PPTX
Progressive Web Apps
PPTX
Migrando para o Angular 2
PPTX
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
PPTX
BaaS com Firebase 3
PPTX
Otimizando eu JavaScript com TypeScript
PPTX
Angular 2, TypeScript e Além
PPTX
Introdução ao Native Script
PPTX
Criando aplicações Híbridas com AngularJs, TypeScript e Material Design
PPTX
Trabalhando com WebHooks no ASP.NET
PPTX
Microsoft e o mundo do Desenvolvimento
Clean Code - Promob DevDay 2022
31/08/2019 - Flutter Talks
Refatorando para Testes de Unidade
PWA: State of Art
PWAs no seu Desktop
Criando APIs com Node e TypeScript
Otimizando seu cenário de APIs
Turbine sua API no Microsoft Azure
Progressive Web Apps: Um novo mundo
ASP.NET Core APIs: Performance Tips
Progressive Web Apps
Migrando para o Angular 2
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
BaaS com Firebase 3
Otimizando eu JavaScript com TypeScript
Angular 2, TypeScript e Além
Introdução ao Native Script
Criando aplicações Híbridas com AngularJs, TypeScript e Material Design
Trabalhando com WebHooks no ASP.NET
Microsoft e o mundo do Desenvolvimento

Último (20)

PDF
embriologia_animal_aula_share_2026_semestre
PDF
A provisão de jojuador (ramadã) islamismo
PDF
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
PDF
FLUXOGRAMA CLASSE lll - Acesso estritamente proximal.pdf
PDF
saeb_documentos_de_referencia_versao_1.0.pdf
PPTX
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
PPTX
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
PPTX
brasilcolnia2-101027184359-phpapp02.pptx
PDF
Ementa 2 semestre PEI Orientação de estudo
PPTX
MENDEL - Aula sobre Mendel - Genética EM
PPT
sistema reprodutor para turmas do oitavo ano
PPTX
A História da Europa na Baixa Idade Média.pptx
PPTX
Pedagogia em Ambientes Não Escolares.pptx
PPTX
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
PPTX
O Romantismo e a identidade brasileira..
PPTX
Slides Lição 7, CPAD, Uma Igreja Que Não Teme A Perseguição, 3Tr25.pptx
PPT
Imperio Bbrasileiro-1822-1889 - aspectos gerais
PDF
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
PPTX
Aula 13 - Tópico Frasal - Argumentação.pptx
PDF
A Revolução Francesa de 1789 slides história
embriologia_animal_aula_share_2026_semestre
A provisão de jojuador (ramadã) islamismo
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
FLUXOGRAMA CLASSE lll - Acesso estritamente proximal.pdf
saeb_documentos_de_referencia_versao_1.0.pdf
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
brasilcolnia2-101027184359-phpapp02.pptx
Ementa 2 semestre PEI Orientação de estudo
MENDEL - Aula sobre Mendel - Genética EM
sistema reprodutor para turmas do oitavo ano
A História da Europa na Baixa Idade Média.pptx
Pedagogia em Ambientes Não Escolares.pptx
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
O Romantismo e a identidade brasileira..
Slides Lição 7, CPAD, Uma Igreja Que Não Teme A Perseguição, 3Tr25.pptx
Imperio Bbrasileiro-1822-1889 - aspectos gerais
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
Aula 13 - Tópico Frasal - Argumentação.pptx
A Revolução Francesa de 1789 slides história

5507 os principais design patterns

  • 2. Sobre • Microsoft MVP – Visual Studio and Development Technologies • Trabalha com desenvolvimento Web desde 2003 • Atuação em projetos nacionais e internacionais de grande porte • Hoje realiza consultorias e treinamentos na área
  • 3. Agenda • Antes de Começar • Introdução • Cuidados e Quando Utilizar • Tipos de Design Patterns • Alguns Patterns • Factory • Abstract Factory • Singleton • Adapter • Facade • MVC
  • 4. Introdução  Padrões de escrita de código  Independentes de linguagem  Design Patterns foi um conceito iniciado em 1994  Criado por um grupo de 4 pessoas, conhecido como Gang of Four  Em 1994, Erich Gamma, Richard Helm, Ralph Johnson e John Vissides publicaram um livro:  Design Patterns – Elements of Reusable Object-Oriented Software
  • 5. Quais são?  Factory Pattern  Abstract Factory Pattern  Singleton Pattern  Builder Pattern  Prototype Pattern  Adapter Pattern  Bridge Pattern  Filter Pattern  Composite Pattern  Decorator Pattern  Facade Pattern  Flyweight Pattern  Proxy Pattern  Chain of Responsibility Pattern  Command Pattern  Interpreter Pattern  Iterator Pattern  Mediator Pattern  Memento Pattern  Observer Pattern  State Pattern  Null Object Pattern  Strategy Pattern  Template Pattern  Visitor Pattern  MVC Pattern  Business Delegate Pattern  Composite Entity Pattern  Data Access Object Pattern  Front Controller Pattern  Intercepting Filter Pattern  Service Locator Pattern  Transfer Object Pattern
  • 6. Além dos DesignPatterns  A importância de um código limpo  Um código bem escrito já é documentado  Identação, nomeação de variáveis, linguagem ubíqua, complexidade de código, divisão de responsabilidades, separação de conceitos, etc
  • 7. Cuidados  Não utilize o que você não sabe  Não é por que você sabe que tem que utilizer  Não é uma competição “Quem usa mais DP”
  • 8. Tipos de DesignPatterns  Creational Patterns (Criacional)  Fornecem uma maneira de criar objetos sem a necessidade do uso de uma nova instância do mesmo (Baseado em abstração por exemplo).  Fornecem maior flexibilidade na decisão de qual objeto será criado.  Structural Patterns (Estrutural)  Focam nas classes e composição de objetos.  Utilizam o conceito de herança para compor interfaces e então definir objetos obtendo assim novas funcionalidades.  Behavioral Patterns (Comportamental)  Focam na comunicação entre objetos.
  • 9. Factory  É um dos Patterns mais utilizados  Fornece um meio de criar um objeto sem expor sua lógica de criação  Durante o consumo deste objeto, ele será referenciado como uma interface.
  • 11. AbstractFactory  Atua como um super-factory, que cria outras factories  Também pode ser chamado de “Factory of Factories”  Neste padrão, uma interface é responsável por cirar uma Factory de um objeto relacionado, sem expor suas classes
  • 13. Singleton  Este padrão envolve uma classe na qual a responsabilidade é criar um objeto e ter certeza que apenas um deste objeto será criado.  Esta classe fornece uma maneira de acessar este objeto, na qual pode ser chamada diretamente, sem a necessidade de uma nova instância.
  • 15. Adapter  Este padrão funciona como uma ponte entre duas interfaces incompatíveis.  Ele é na verdade uma única classe cuja responsabilidade é unir funcionalidades de interfaces independentes e imcompatíveis.
  • 17. FACADE  Este padrão esconde a complexidade do sistema provisionando uma interface ao cliente.  Esta interface prove métodos simplificados ao cliente, tornando a vida dele mais fácil.
  • 19. MVC  Sigla para Model-View-Controller  É um padrão de separação de responsabilidades  Model – Representa seu domínio, o core, os objetos do seu Sistema  View – Representa a tela, a interface com o usuário  Controller – Faz a ligação entre o modelo e a visão. Recebe os dados da tela, trabalha no model e retorna um resultado para tela.
  • 20. MVC
  • 21. Fonte  Design Patterns in Java  http://www.tutorialspoint.com/design_pattern/factory_pattern.htm
  • 22. TREINAMENTO Aplicando Design Patterns em Aplicações Corporativas http://bit.ly/abt-5508