Está en la página 1de 6

El patrn Template Method

Todos o parte de los pasos de un algoritmo son redefinidos en las subclases heredaras de la citada superclase.

Aplicabilidad
Cuando contamos con un algoritmo con varios pasos que no cambian, dichos pasos invariantes seran implementados en una superclase, dejando la implementacin de los pasos que cambian para las subclases. Para evitar la replicacin de cdigo mediante generalizacin: se factoriza el comportamiento comn de varias subclases en una nica superclase.

Participantes
Clase Abstracta Clase Concreta

Colaboraciones. Las clases concretas se basan en la clase abstracta para implementar la parte invariante del algoritmo.

Consecuencias
La utilizacin de este patrn es fundamental a la hora de reutilizar cdigo. Se invierte el control: en este caso la superclase es la encargada de llamar a las operaciones definidas en las subclases.

Implementacin
Recomendable declarar las operaciones primitivas de tal forma que slo puedan ser llamadas por el mtodo plantilla (protected si es java) Debe reducirse en la medida de lo posible el nmero de operaciones primitivas que van a ser invocadas desde el mtodo plantilla

Ejemplo
Abrir pdf

También podría gustarte