Comentários finais sobre Design Patterns

Como selecionar um Design Pattern?

Considerando como Design Patterns resolvem Problemas de Design

Examinando os Objetivos de cada Pattern

Estudando o relacionamento entre Design Patterns

Examinando no livro da GoF as semelhanças e diferenças entre padrões

Considerando o que deve ser variável do Design

Propósito Design Pattern Aspecto(s) que varia(m)

(O que pode mudar sem redesign)

Criação Abstract Factory Famílias de objetos-produto
Builder Como um objeto composto é criado
Factory Method Subclasse do objeto que é instanciado
Prototype A classe do objeto que é instanciado
Singleton A única instância de uma classe
Estrutura Adapter A interface para acessar um objeto
Bridge A implementação de um objeto
Composite A estrutura e composição de um objeto
Decorator As responsabilidades de um objeto (sem uso de herança)
Façade A interface de um subsistema
Flyweight O custo de armazenamento de objetos
Proxy Como um objeto é acessado; sua localização
Comportamento Chain of Responsibility O objeto que pode atender a um pedido
Command Quando e como um pedido é atendido
Interpreter Gramática e interpretação de uma linguagem
Iterator Como os elementos de uma coleção são acessados, varridos
Mediator Como e quais objetos interagem uns com os outros
Memento Qual informação privada é armazenada fora de um objeto, e quando
Observer O número de objetos que dependem de um outro objeto; como os objetos dependentes ficam atualizados
State Os estados de um objeto
Strategy Um algoritmo
Template Method Certas etapas de um algoritmo
Visitor Operações que podem ser aplicadas a objetos sem mudar suas classes

Finalmente ... O que esperar de Design Patterns

pat-11 programa anterior