Análise e Projeto Orientados  
por Objetos  
Aula 04 Padrões de Projeto GoF  
Edirlei Soares de Lima  
<edirlei@iprj.uerj.br>  
Padrões GoF  
Em 1995, Erich Gamma, Richard Helm,  
Ralph Johnson e John Vlissides descreveram  
2
desenvolvimento de sistemas de software  
orientados a objetos.  
3 padrões que podem ser aplicados ao  
Gamma e seus colaboradores são conhecidos  
como a Gangue dos Quatro (Gand of Four, GoF).  
Não são invenções. São documentação de  
soluções obtidas através da experiência.  
Foram coletados de experiências de sucesso  
na indústria de software, principalmente de  
projetos em C++.  
Padrões GoF  
Os padrões GoF estão relacionados a questões de:  
comportamento de objetos;  
ciclo de vida de objetos;  
interface dos objetos;  
relacionamentos entre os objetos.  
Permitem desenvolver software de melhor qualidade, uma  
vez que utilizam eficientemente polimorfismo, herança,  
modularidade, composição, abstração para construir código  
reutilizável, eficiente, de alta coesão e baixo acoplamento.  
Categorias de Padrões GoF  
Os padrões GoF são divididos em três categorias:  
Criacionais: têm a ver com inicialização e configuração de objetos;  
Estruturais: têm a ver com o desacoplamento entre a interface e a  
implementação de objetos;  
Comportamentais: têm a ver com interações (colaborações) entre  
sociedades de objetos.  
Um padrão GoF também é classificado segundo o seu escopo:  
Classe: os relacionamentos que definem este padrão são definidos  
através de herança e em tempo de compilação.  
Objeto: é encontrado no relacionamento entre os objetos definidos  
em tempo de execução.  
Categorias de Padrões GoF  
Padrões GoF  
Criação:  
Estruturais:  
Comportamentais:  
Abstract Factory  
Builder  
Factory Method  
Prototype  
Singleton  
Adapter  
Bridge  
Chain of Responsibility  
Command  
Interpreter  
Iterator  
Mediator  
Memento  
Composite  
Decorator  
Façade  
Flyweight  
Proxy  
Observer  
State  
Strategy  
Template Method  
Visitor