Introdução aos Padrões de Desenho: Difference between revisions
From Wiki**3
No edit summary |
No edit summary |
||
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 == |
Revision as of 12:14, 15 December 2015
"Someone has already solved your problem."
Cada padrão:
- Descreve um problema recorrente
- Captura a estrutura estática e dinâmica, assim como a colaboração entre os principais actores
Categorias básicas:
- "creational" -- "Simple" Factory, Factory Method, Abstract Factory, Singleton
- "structural" -- Bridge, Composite, Proxy, ...
- "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
<runphp>
echo '<img height="150" src="http://akamaicovers.oreilly.com/images/9780596007126/lrg.jpg">
<a href="http://www.oreilly.com/catalog/hfdesignpat/">Head First Design Patterns</a>
Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates
2004 (Outubro), <a href="http://www.oreilly.com/">OReilly</a>. ISBN 0596007124.
<a href="http://www.oreilly.com/catalog/hfdesignpat/toc.pdf">Índice</a> (PDF), <a href="http://www.oreilly.com/catalog/hfdesignpat/errata/">Errata</a>';
</runphp>
<runphp>
echo '<img border=1 height="150" src="http://www.aw-bc.com/bigcovers/0201633612.jpg">
<a href="http://www.awprofessional.com/bookstore/product.asp?isbn=0201633612&rl=1">Design Patterns: Elements of Reusable Object-Oriented Software</a>,
Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides,
1995,
<a href="http://www.awprofessional.com/">Addison Wesley Professional</a>. ISBN 0201633612.
'; </runphp>