Fornece uma interface de
famílias de objetos relacionados
de dependentes sem especificar
suas classes concretas.
Factory Method
Define uma interface p/ criar um objeto mas
deixa as subclasses decidirem que classe
instanciar. Permite adiar a instanciação p/ as
subclasses.
Singleton
Garante que uma classe tenha
somente uma instancia e fornece
um ponto global de acesso p/ a
mesma.
Padrões Estruturais
Adapter
Converte a interface de uma classe em outra
interface, esperada pelos clientes. Permite que
classes com interfaces incompatíveis trabalhem
em conjunto.
Composite
Compõe objetos em estruturas de árvore p/
representarem hierarquias partes-todo. Permite
aos clientes tratarem de maneira uniforme
objetos individuais e composições de objetos.
Façade
Fornece uma interface unificada p/ um conj. de
interfaces em um subsistema. Define uma interface de
nível mais alto que torna o subsistema mais fácil de
ser usado.
Proxy
Fornece um substituto (surrogate) ou marcador
da localização de outro objeto para controlar o
acesso a esse objeto.
Padrões Comportamentais
Command
Encapsula uma solicitação como um objeto,
desta forma permite parametrizar clientes
com diferentes solicitações, enfileirar ou fazer
o registro (log) de solicitações e suportar
operações que podem ser desfeitas.
Iterator
Fornece um meio de acessar, sequencialmente, os
elementos de um objeto agregado sem expor a sua
representação subjacente.
Observer
Define uma dependência um-para-muitos entre objetos, de maneira que quando
um objeto muda de estado todos os seus dependentes são notificados e
atualizados automaticamente.
Strategy
Define uma família de algoritmos, encapsula cada uma
delas e torna intercambiáveis. Permite que o algoritmo varie
independentemente dos clientes que o utilizam.