(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | {{NAVPO}} | |
− | + | {{TOCright}} | |
− | O padrão "template method" corresponde | + | 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== | ==Estrutura== | ||
Line 9: | Line 9: | ||
[[Image:templatemethod-dpcd.png|400px]] | [[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:PO | + | [[category:Ensino]] |
+ | [[category:PO]] |
Contents |
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.
O padrão template method tem a seguinte estrutura de classes:
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".