Mdulo III Padres GOF Template Method Professores Eduardo

  • Slides: 9
Download presentation
Módulo III Padrões GOF: Template Method Professores Eduardo Bezerra – edubezerra@gmail. com Ismael H

Módulo III Padrões GOF: Template Method Professores Eduardo Bezerra – edubezerra@gmail. com Ismael H F Santos – ismael@tecgraf. puc-rio. br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf. puc-rio. br 1

Ementa n Padrões GOF n Julho 06 Template Method Prof(s). Eduardo Bezerra & Ismael

Ementa n Padrões GOF n Julho 06 Template Method Prof(s). Eduardo Bezerra & Ismael H. F. Santos 2

Bibliografia n n n Julho 06 Eric Gamma, et ali, Padrões de Projeto, Ed

Bibliografia n n n Julho 06 Eric Gamma, et ali, Padrões de Projeto, Ed Bookman Martin Fowler, Analysis Patterns - Reusable Object Models, Addison-Wesley, 1997 Martin Fowler, Refatoração - Aperfeiçoando o projeto de código existente, Ed Bookman Prof(s). Eduardo Bezerra & Ismael H. F. Santos 3

Livros n Core Java 2, Cay S. Horstmann, Gary Cornell Volume 1 (Fundamentos) n

Livros n Core Java 2, Cay S. Horstmann, Gary Cornell Volume 1 (Fundamentos) n Volume 2 (Características Avançadas) n Java: Como Programar, Deitel & Deitel n Thinking in Patterns with JAVA, Bruce Eckel n Gratuito. http: //www. mindview. net/Books/TIJ/ n Julho 06 Prof(s). Eduardo Bezerra & Ismael H. F. Santos 4

POO-Java Julho 06 Template Method Prof(s). Eduardo Bezerra & Ismael H. F. Santos 5

POO-Java Julho 06 Template Method Prof(s). Eduardo Bezerra & Ismael H. F. Santos 5

Template Method n Intenção: definir o esqueleto de um algoritmo em uma operação, postergando

Template Method n Intenção: definir o esqueleto de um algoritmo em uma operação, postergando (delegando) a definição de alguns passos desse algoritmo para subclasses. n Solução: Em uma classe X, definir a parte invariável do algoritmo em uma operação. Essa operação é denominada método template (template method). n Nesta mesma operação, fazer chamadas a operações que representam a parte variável do algoritmo. Essas operações são n Julho 06 Prof(s). Eduardo Bezerra & Ismael H. F. Santos 6

Template Method (estrutura) Julho 06 Prof(s). Eduardo Bezerra são & Ismael H. F. Santos

Template Method (estrutura) Julho 06 Prof(s). Eduardo Bezerra são & Ismael H. F. Santos primitive. Operation 1 e primitive. Operation 2 “hook operations” 7

Template Method (aplicabilidade) n Quando queremos implementar partes invariáveis de um algoritmo e deixar

Template Method (aplicabilidade) n Quando queremos implementar partes invariáveis de um algoritmo e deixar que as subclasses implementem os comportamentos variáveis; n Quando comportamentos comuns entre subclasses devem ser fatorados e localizados em uma superclasse comum. n evitando assim duplicação de código; n Quando queremos controlar a extensão das subclasses. Julho 06 n Prof(s). Eduardo Bezerra & Ismael H. F. Santos Pode-se definir um template method que 8

Template Method (conseqüências) n Permite que as subclasses redefinam certos passos de um algoritmo

Template Method (conseqüências) n Permite que as subclasses redefinam certos passos de um algoritmo sem mudar a estrutura desse algoritmo. n i. e. , Template Method usa herança para variar partes de um algoritmo. n Um operação gancho não precisa necessariamente ser abstrata. n Padrão importante no desenvolvimento de frameworks, pois fornece uma maneira de separar o comportamento variável do comportamento invariável em uma aplicação. n Julho 06 Permitem a implementação do Princípio de Hollywood (ou inversão de controle): “não nos Prof(s). Eduardo Bezerra & Ismael H. F. Santos 9