Introdução aos Padrões de Desenho: Difference between revisions
From Wiki**3
No edit summary |
|||
| (24 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
Introdução aos padrões de desenho: o que são, para que servem, cuidados na selecção e utilização. Padrão Singleton. Exemplo. | {{NAVPO}} | ||
__NOTOC__ | |||
<!--Introdução aos padrões de desenho: o que são, para que servem, cuidados na selecção e utilização. Padrão Singleton. Exemplo. --> | |||
[[category:PO | == Design Patterns == | ||
'''"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 == | |||
'''[https://www.oreilly.com/library/view/head-first-design/9781492077992/ Head First Design Patterns, 2nd Edition]'''<br/> | |||
Eric Freeman, Elisabeth Robson<br/> | |||
December 2020 (Outubro), [http://www.oreilly.com/ OReilly], ISBN 9781492077992.<br/> | |||
'''[https://www.pearson.com/us/higher-education/program/Gamma-Design-Patterns-Elements-of-Reusable-Object-Oriented-Software/PGM14333.html Design Patterns: Elements of Reusable Object-Oriented Software]'''<br/> | |||
Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides<br/> | |||
[http://www.awprofessional.com/ Addison Wesley Professional], 1995, ISBN 0201633612.<br/> | |||
== 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. | |||
|} | |||
Exercício adaptado de "Head First Design Patterns" (consultar chave no livro). | |||
[[category:Ensino]] | |||
[[category:PO]] | |||
Latest revision as of 14:55, 29 September 2025
Design Patterns
"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
Head First Design Patterns, 2nd Edition
Eric Freeman, Elisabeth Robson
December 2020 (Outubro), OReilly, ISBN 9781492077992.
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides
Addison Wesley Professional, 1995, ISBN 0201633612.
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. |
Exercício adaptado de "Head First Design Patterns" (consultar chave no livro).