Introdução aos Padrões de Desenho: Difference between revisions
From Wiki**3
(→Livros) |
No edit summary |
||
Line 13: | Line 13: | ||
* "structural" -- Adapter, Bridge, Composite, Decorator, Façade, Proxy, ... | * "structural" -- Adapter, Bridge, Composite, Decorator, Façade, Proxy, ... | ||
* "behavioral" -- Command, Iterator, Observ er, State, Strategy, Template Method, Visitor, ... | * "behavioral" -- Command, Iterator, Observ er, State, Strategy, Template Method, Visitor, ... | ||
== Livros == | |||
{| style="border-width: 0px !important;" | |||
! style="width: 50%; vertical-align: top;"| | |||
<runphp> | |||
echo '<em><img border=1 style="height: 150pt;" src="http://akamaicovers.oreilly.com/images/9780596007126/lrg.jpg"><br><a href="http://www.oreilly.com/catalog/hfdesignpat/"><b>Head First Design Patterns</b></a></em><br><span>Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates</span><br><span>2004 (Outubro)</span>, <span><a href="http://www.oreilly.com/">OReilly</a>. ISBN 0596007124.<br><a href="http://www.oreilly.com/catalog/hfdesignpat/toc.pdf">Índice</a> (PDF), <a href="http://www.oreilly.com/catalog/hfdesignpat/errata/">Errata</a></span>'; | |||
</runphp> | |||
! style="width: 50%; vertical-align: top;"| | |||
<runphp> | |||
echo '<em><img border=1 style="height: 150pt;" src="http://www.aw-bc.com/bigcovers/0201633612.jpg"><br> <a href="http://www.awprofessional.com/bookstore/product.asp?isbn=0201633612&rl=1"><b>Design Patterns: Elements of Reusable Object-Oriented Software</b></a></em><br> | |||
<span>Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides</span>, | |||
<span>1995</span>, | |||
<span><a href="http://www.awprofessional.com/">Addison Wesley Professional</a>. ISBN 0201633612.</span> | |||
</li>'; | |||
</runphp> | |||
|} | |||
== Quiz == | == Quiz == | ||
Emparelhar os nomes dos padrões com a frase mais apropriada: todas as frases têm uma associação. | |||
{| | {| | ||
Line 58: | Line 75: | ||
|14. Command | |14. Command | ||
|N. Encapsula um pedido como um objeto. | |N. Encapsula um pedido como um objeto. | ||
|} | |} | ||
[[category:Ensino]] | [[category:Ensino]] | ||
[[category:PO]] | [[category:PO]] |
Revision as of 18:51, 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" -- Adapter, Bridge, Composite, Decorator, Façade, Proxy, ...
- "behavioral" -- Command, Iterator, Observ er, State, Strategy, Template Method, Visitor, ...
Livros
<runphp>
echo '<img border=1 style="height: 150pt;" src="http://akamaicovers.oreilly.com/images/9780596007126/lrg.jpg"> |
<runphp>
echo '<img border=1 style="height: 150pt;" src="http://www.aw-bc.com/bigcovers/0201633612.jpg"> |
---|
Quiz
Emparelhar os nomes dos padrões com a frase mais apropriada: todas as frases têm uma associação.
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. |