Difference between revisions of "Template Method Pattern (padrão de desenho)"

From Wiki**3

 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
Material correspondente à aula 25.
+
{{NAVPO}}
 +
{{TOCright}}
 +
O padrão "template method" corresponde à definição do esqueleto de um algoritmo de uma operação em que alguns passos são delegados em subclasses. O padrão permite que as subclasses redefinam partes do algoritmo sem a estrutura do algoritmo seja alterada.
  
Padrão de desenho Template Method. Princípios, estrutura, propriedades, aplicações, vantagens, inconvenientes. Apresentação e discussão de exemplos práticos: Cafe, Cha, BebidaQuente. Apoio ao projecto.
+
==Estrutura==
  
[[category:PO 2005/2006]]
+
O padrão ''template method'' tem a seguinte estrutura de classes:
 +
 
 +
[[Image:templatemethod-dpcd.png|400px]]
 +
 
 +
==Exemplos==
 +
 
 +
* [[Template Method: Bebida Quente (exemplo)|Preparação de bebida quente]]
 +
* [[Template Method: Génios da Lâmpada (exemplo)|Génios da lâmpada]]
 +
 
 +
A chamada pela superclasse de métodos definidos nas subclasses é uma aplicação do chamado "Hollywood Principle", i.e., "don't call us, we'll call you".
 +
 
 +
[[category:Ensino]]
 +
[[category:PO]]

Latest revision as of 14:03, 19 November 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)

O padrão "template method" corresponde à definição do esqueleto de um algoritmo de uma operação em que alguns passos são delegados em subclasses. O padrão permite que as subclasses redefinam partes do algoritmo sem a estrutura do algoritmo seja alterada.

Estrutura

O padrão template method tem a seguinte estrutura de classes:

Templatemethod-dpcd.png

Exemplos

A chamada pela superclasse de métodos definidos nas subclasses é uma aplicação do chamado "Hollywood Principle", i.e., "don't call us, we'll call you".