Difference between revisions of "Introdução aos Padrões de Desenho"

From Wiki**3

(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 15:27, 15 December 2015

Programação com Objectos
Introduction
Creation and Destruction
Inheritance & Composition
Abstraction & Polymorphism
Code Organization
Java Topics
Inner Classes
Enumerations
Data Structures
Exceptions
Input/Output
RTTI
Other Topics
JUnit Tests
UML Topics
Design Patterns
"Simple" Factory
Composite & Visitor
Command
Strategy & State
Template Method
Observer
Abstract Factory
Decorator & Adapter
Façade (aka Facade)

Contents

"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


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.