Introdução aos Padrões de Desenho: Difference between revisions
From Wiki**3
No edit summary |
(→Quiz) |
||
Line 17: | Line 17: | ||
{| | {| | ||
|Decorator | |1. Decorator | ||
|Encapsula um objeto e fornece uma interface diferente para ele. | |A. Encapsula um objeto e fornece uma interface diferente para ele. | ||
|- | |- | ||
|State | |2. State | ||
|As subclasses decidem como implementar passos de um algoritmo. | |B. As subclasses decidem como implementar passos de um algoritmo. | ||
|- | |- | ||
|Iterator | |3. Iterator | ||
|As subclasses decidem que classes concretas criar. | |C. As subclasses decidem que classes concretas criar. | ||
|- | |- | ||
|Façade | |4. Façade | ||
|Garante que um e apenas um objeto é criado. | |D. Garante que um e apenas um objeto é criado. | ||
|- | |- | ||
|Strategy | |5. Strategy | ||
|Encapsula comportamentos intercambiáveis e usa delegação para decidir qual usar. | |E. Encapsula comportamentos intercambiáveis e usa delegação para decidir qual usar. | ||
|- | |- | ||
|Proxy | |6. Proxy | ||
|Os clientes tratam colecções de objetos e objetos individuais de maneira uniforme. | |F. Os clientes tratam colecções de objetos e objetos individuais de maneira uniforme. | ||
|- | |- | ||
|Factory Method | |7. Factory Method | ||
|Encapsula comportamentos baseados no estado e usa delegação para alternar entre comportamentos. | |G. Encapsula comportamentos baseados no estado e usa delegação para alternar entre comportamentos. | ||
|- | |- | ||
|Adapter | |8. Adapter | ||
|Fornece uma forma de percorrer uma colecção de objetos sem expor a sua implementação. | |H. Fornece uma forma de percorrer uma colecção de objetos sem expor a sua implementação. | ||
|- | |- | ||
|Observer | |9. Observer | ||
|Simplifica a interface de um conjunto de classes. | |I. Simplifica a interface de um conjunto de classes. | ||
|- | |- | ||
|Template Method | |10. Template Method | ||
|Encapsula um objeto para fornecer novo comportamento. | |J. Encapsula um objeto para fornecer novo comportamento. | ||
|- | |- | ||
|Composite | |11. Composite | ||
|Permite que um cliente crie famílias de objectos sem especificar suas classes concretas. | |K. Permite que um cliente crie famílias de objectos sem especificar suas classes concretas. | ||
|- | |- | ||
|Singleton | |12. Singleton | ||
|Permite que objectos sejam notificados quando um estado é alterado. | |L. Permite que objectos sejam notificados quando um estado é alterado. | ||
|- | |- | ||
|Abstract Factory | |13. Abstract Factory | ||
|Encapsula um objecto para controlar o acesso a ele. | |M. Encapsula um objecto para controlar o acesso a ele. | ||
|- | |- | ||
|Command | |14. Command | ||
|Encapsula um pedido como um objeto. | |N. Encapsula um pedido como um objeto. | ||
|} | |} | ||
Revision as of 13:27, 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
1. Decorator | A. Encapsula um objeto e fornece uma interface diferente para ele. |
2. State | B. As subclasses decidem como implementar passos de um algoritmo. |
3. Iterator | C. As subclasses decidem que classes concretas criar. |
4. Façade | D. Garante que um e apenas um objeto é criado. |
5. Strategy | E. Encapsula comportamentos intercambiáveis e usa delegação para decidir qual usar. |
6. Proxy | F. Os clientes tratam colecções de objetos e objetos individuais de maneira uniforme. |
7. Factory Method | G. Encapsula comportamentos baseados no estado e usa delegação para alternar entre comportamentos. |
8. Adapter | H. Fornece uma forma de percorrer uma colecção de objetos sem expor a sua implementação. |
9. Observer | I. Simplifica a interface de um conjunto de classes. |
10. Template Method | J. Encapsula um objeto para fornecer novo comportamento. |
11. Composite | K. Permite que um cliente crie famílias de objectos sem especificar suas classes concretas. |
12. Singleton | L. Permite que objectos sejam notificados quando um estado é alterado. |
13. Abstract Factory | M. Encapsula um objecto para controlar o acesso a ele. |
14. Command | N. 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>