SlideShare uma empresa Scribd logo
1 de 3
Baixar para ler offline
QUICK REFERENCE

História: Criado na década de 70. Em 1987 surgiram os primeiros padrões de projetos.
Em 1995 ganhou popularidade com o livro do GoF.

Conceito:     Um Pattern descreve uma solução comprovada para um problema
recorrente. Características: Encapsulamento, Generalidade, Equilíbrio, Abstração,
Abertura, Combinatoriedade. Além das características, deve ter um formato em 5 partes:
Nome, Exemplos, Contexto, Problema, Solução.

Padrões de Criação:

       Abstract Factory: permite a criação de famílias de objetos relacionados ou
       dependentes, através de uma única interface, sem que a classe concreta seja
       especificada.

       Builder: Define uma interface para criar um objeto, mas é a subclasse quem
       decide qual objeto será instanciado.

       Prototype: Específica o tipo de objeto a ser criado através de uma instância de
       objeto protótipo.

       Singleton: Este padrão garante a existência de apenas uma instância de uma
       classe, mantendo um ponto global de acesso ao seu objeto.

Padrões Estruturais:

       Adapter: adapta a interface de uma classe, para que ela possa interagir com
       outras.

       Bridge: Padrão que faz a interface variar independentemente das suas
       implementações.

       Composite: Possibilita enxergar um conjunto (composição) de objetos como se
       fosse um só.
Decorator: Anexa responsabilidades adicionais a um objeto dinamicamente.

      Façade: disponibiliza uma interface para uma grande quantidade de
      funcionalidades de uma API.

      Flyweight: define como compartilhar objetos para que os mesmos possam ser
usados em vários locais ao mesmo tempo, sendo assim, o padrão flyweight atua de forma
independente em cada local, similar a um pool.

      Proxy: funciona de interface para outra classe.

Padrões Comportamentais:

      Chain of Responsability: Representa o encadeamento de objetos
      receptores para o processamento de uma série de solicitações diferentes.

      Command: Encapsula uma solicitação como um objeto. Desta forma permite
      que clientes realizem diferentes solicitações.

      Interpreter: Um padrão interpreter define a linguagem, assim como
      representações para gramáticas e abstrações para análises sintáticas.

      Iterator: permite a iteração, e um modo de acesso a elementos de um
      agregado de objetos, sequencialmente, sem exposição de estruturas internas.

      Mediator: Define um objeto que encapsula as interações entre esse grupo.

      Memento: armazena o estado interno de um objeto em um determinado
      momento, para que seja possível retorná-lo a este estado, caso necessário.

      Observer: Relação um para todos, dessa forma quando este um altera seu
      status, todos atualizam automaticamente.

      State: É usado para permitir que um objeto altere seu comportamento quando
      um estado muda.
Strategy: Defini uma família de algoritmos e encapsula cada algoritmo como
uma classe, permitindo assim que elas possam ser trocados entre si. Este padrão
permite que o algoritmo possa variar independentemente dos clientes que o
utilizam.

Template Method: Define o esqueleto de um algoritmo numa operação,
passando alguns passos para as subclasses.

Visitor: adicionar novas funcionalidades a estruturas de um objeto pré-existente
sem a necessidade de modificá-las.

Mais conteúdo relacionado

Destaque

Destaque (6)

Padrão de Projeto GoF Comportamental Mediator
Padrão de Projeto GoF Comportamental MediatorPadrão de Projeto GoF Comportamental Mediator
Padrão de Projeto GoF Comportamental Mediator
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design Patterns
 
Patterns
PatternsPatterns
Patterns
 
Orientação a Objetos - Da Teoria a Pratica
Orientação a Objetos - Da Teoria a PraticaOrientação a Objetos - Da Teoria a Pratica
Orientação a Objetos - Da Teoria a Pratica
 
Black sabbath
Black sabbathBlack sabbath
Black sabbath
 

Semelhante a Padrões de Projeto

Arquitetura mix thiagoboufleuhr
Arquitetura mix thiagoboufleuhrArquitetura mix thiagoboufleuhr
Arquitetura mix thiagoboufleuhrThiago Boufleuhr
 
Paradigma de orientação a objetos -
Paradigma de orientação a objetos - Paradigma de orientação a objetos -
Paradigma de orientação a objetos - André Victor
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introduçãoelliando dias
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Ryan Padilha
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 
Construção de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaConstrução de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaFernando Camargo
 
Script c
Script cScript c
Script cRaphael
 
pec-12-patterns-intro.ppt
pec-12-patterns-intro.pptpec-12-patterns-intro.ppt
pec-12-patterns-intro.pptssuser7025cf
 
Padrão De Projeto Adapter
Padrão De Projeto AdapterPadrão De Projeto Adapter
Padrão De Projeto AdapterMatheus Andrade
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAAricelio Souza
 
Padrões de projetos
Padrões de projetosPadrões de projetos
Padrões de projetosGustavo Souza
 
Padrão de Projetos singleton
Padrão de Projetos singletonPadrão de Projetos singleton
Padrão de Projetos singletonWendel Moreira
 

Semelhante a Padrões de Projeto (20)

Padrões de design orientado a objetos
Padrões de design orientado a objetosPadrões de design orientado a objetos
Padrões de design orientado a objetos
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Arquitetura mix thiagoboufleuhr
Arquitetura mix thiagoboufleuhrArquitetura mix thiagoboufleuhr
Arquitetura mix thiagoboufleuhr
 
Paradigma de orientação a objetos -
Paradigma de orientação a objetos - Paradigma de orientação a objetos -
Paradigma de orientação a objetos -
 
Design pattern
Design patternDesign pattern
Design pattern
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introdução
 
Padroes
PadroesPadroes
Padroes
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 
Construção de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaConstrução de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em Java
 
Script c
Script cScript c
Script c
 
Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
 
pec-12-patterns-intro.ppt
pec-12-patterns-intro.pptpec-12-patterns-intro.ppt
pec-12-patterns-intro.ppt
 
Padrão De Projeto Adapter
Padrão De Projeto AdapterPadrão De Projeto Adapter
Padrão De Projeto Adapter
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAA
 
Padrões de projetos
Padrões de projetosPadrões de projetos
Padrões de projetos
 
Padrão de Projetos singleton
Padrão de Projetos singletonPadrão de Projetos singleton
Padrão de Projetos singleton
 
Sld 4
Sld 4Sld 4
Sld 4
 
Interface
InterfaceInterface
Interface
 
Padrões de Projeto para Jogos
Padrões de Projeto para JogosPadrões de Projeto para Jogos
Padrões de Projeto para Jogos
 

Padrões de Projeto

  • 1. QUICK REFERENCE História: Criado na década de 70. Em 1987 surgiram os primeiros padrões de projetos. Em 1995 ganhou popularidade com o livro do GoF. Conceito: Um Pattern descreve uma solução comprovada para um problema recorrente. Características: Encapsulamento, Generalidade, Equilíbrio, Abstração, Abertura, Combinatoriedade. Além das características, deve ter um formato em 5 partes: Nome, Exemplos, Contexto, Problema, Solução. Padrões de Criação: Abstract Factory: permite a criação de famílias de objetos relacionados ou dependentes, através de uma única interface, sem que a classe concreta seja especificada. Builder: Define uma interface para criar um objeto, mas é a subclasse quem decide qual objeto será instanciado. Prototype: Específica o tipo de objeto a ser criado através de uma instância de objeto protótipo. Singleton: Este padrão garante a existência de apenas uma instância de uma classe, mantendo um ponto global de acesso ao seu objeto. Padrões Estruturais: Adapter: adapta a interface de uma classe, para que ela possa interagir com outras. Bridge: Padrão que faz a interface variar independentemente das suas implementações. Composite: Possibilita enxergar um conjunto (composição) de objetos como se fosse um só.
  • 2. Decorator: Anexa responsabilidades adicionais a um objeto dinamicamente. Façade: disponibiliza uma interface para uma grande quantidade de funcionalidades de uma API. Flyweight: define como compartilhar objetos para que os mesmos possam ser usados em vários locais ao mesmo tempo, sendo assim, o padrão flyweight atua de forma independente em cada local, similar a um pool. Proxy: funciona de interface para outra classe. Padrões Comportamentais: Chain of Responsability: Representa o encadeamento de objetos receptores para o processamento de uma série de solicitações diferentes. Command: Encapsula uma solicitação como um objeto. Desta forma permite que clientes realizem diferentes solicitações. Interpreter: Um padrão interpreter define a linguagem, assim como representações para gramáticas e abstrações para análises sintáticas. Iterator: permite a iteração, e um modo de acesso a elementos de um agregado de objetos, sequencialmente, sem exposição de estruturas internas. Mediator: Define um objeto que encapsula as interações entre esse grupo. Memento: armazena o estado interno de um objeto em um determinado momento, para que seja possível retorná-lo a este estado, caso necessário. Observer: Relação um para todos, dessa forma quando este um altera seu status, todos atualizam automaticamente. State: É usado para permitir que um objeto altere seu comportamento quando um estado muda.
  • 3. Strategy: Defini uma família de algoritmos e encapsula cada algoritmo como uma classe, permitindo assim que elas possam ser trocados entre si. Este padrão permite que o algoritmo possa variar independentemente dos clientes que o utilizam. Template Method: Define o esqueleto de um algoritmo numa operação, passando alguns passos para as subclasses. Visitor: adicionar novas funcionalidades a estruturas de um objeto pré-existente sem a necessidade de modificá-las.