(16 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | {{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. | ||
− | O padrão | + | ==Estrutura== |
+ | |||
+ | 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: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".