Line 13: | Line 13: | ||
* "structural" -- Bridge, Composite, Proxy, ... | * "structural" -- Bridge, Composite, Proxy, ... | ||
* "behavioral" -- Command, Iterator, Strategy, Visitor, ... | * "behavioral" -- Command, Iterator, Strategy, Visitor, ... | ||
+ | |||
+ | == Quiz == | ||
+ | |||
+ | {| | ||
+ | |Decorator | ||
+ | |Encapsula um objeto e fornece uma interface diferente para ele. | ||
+ | |- | ||
+ | |State | ||
+ | |As subclasses decidem como implementar passos de um algoritmo. | ||
+ | |- | ||
+ | |Iterator | ||
+ | |As subclasses decidem que classes concretas criar. | ||
+ | |- | ||
+ | |Façade | ||
+ | |Garante que um e apenas um objeto é criado. | ||
+ | |- | ||
+ | |Strategy | ||
+ | |Encapsula comportamentos intercambiáveis e usa delegação para decidir qual usar. | ||
+ | |- | ||
+ | |Proxy | ||
+ | |Os clientes tratam colecções de objetos e objetos individuais de maneira uniforme. | ||
+ | |- | ||
+ | |Factory Method | ||
+ | |Encapsula comportamentos baseados no estado e usa delegação para alternar entre comportamentos. | ||
+ | |- | ||
+ | |Adapter | ||
+ | |Fornece uma forma de percorrer uma colecção de objetos sem expor a sua implementação. | ||
+ | |- | ||
+ | |Observer | ||
+ | |Simplifica a interface de um conjunto de classes. | ||
+ | |- | ||
+ | |Template Method | ||
+ | |Encapsula um objeto para fornecer novo comportamento. | ||
+ | |- | ||
+ | |Composite | ||
+ | |Permite que um cliente crie famílias de objectos sem especificar suas classes concretas. | ||
+ | |- | ||
+ | |Singleton | ||
+ | |Permite que objectos sejam notificados quando um estado é alterado. | ||
+ | |- | ||
+ | |Abstract Factory | ||
+ | |Encapsula um objecto para controlar o acesso a ele. | ||
+ | |- | ||
+ | |Command | ||
+ | |Encapsula um pedido como um objeto. | ||
+ | |} | ||
== Livros == | == Livros == |
"Someone has already solved your problem."
Cada padrão:
Categorias básicas:
Decorator | Encapsula um objeto e fornece uma interface diferente para ele. |
State | As subclasses decidem como implementar passos de um algoritmo. |
Iterator | As subclasses decidem que classes concretas criar. |
Façade | Garante que um e apenas um objeto é criado. |
Strategy | Encapsula comportamentos intercambiáveis e usa delegação para decidir qual usar. |
Proxy | Os clientes tratam colecções de objetos e objetos individuais de maneira uniforme. |
Factory Method | Encapsula comportamentos baseados no estado e usa delegação para alternar entre comportamentos. |
Adapter | Fornece uma forma de percorrer uma colecção de objetos sem expor a sua implementação. |
Observer | Simplifica a interface de um conjunto de classes. |
Template Method | Encapsula um objeto para fornecer novo comportamento. |
Composite | Permite que um cliente crie famílias de objectos sem especificar suas classes concretas. |
Singleton | Permite que objectos sejam notificados quando um estado é alterado. |
Abstract Factory | Encapsula um objecto para controlar o acesso a ele. |
Command | Encapsula um pedido como um objeto. |
Head First Design Patterns
Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates
2004 (Outubro), OReilly. ISBN 0596007124.
Índice (PDF), Errata
Design Patterns: Elements of Reusable Object-Oriented Software,
Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides,
1995,
Addison Wesley Professional. ISBN 0201633612.