Propósito
Definir la estructura (o pasos) de un algoritmo, postergando la definición de
algunos métodos en las subclases. Por lo tanto, las implementaciones de algunos
métodos varían en las subclases, pero la definición de la estructura principal del
algoritmo (en la clase base) persiste.
Problema
Cuando dos componentes distintos tienen similitudes significativas y ambos no
implementan una interfaz común. Por lo tanto, cuando se da la necesidad de un
cambio, existe una duplicidad de esfuerzo innecesaria.
Se usa cuando
Se requiere de una única implementación de un algoritmo en una clase
abstracta.
El comportamiento común entre las subclases debe estar localizado en una clase común.
La clase base debe ser capaz de invocar de manera uniforme el comportamiento de sus subclases.
La mayoría o todas las subclases necesitan implementar el comportamiento.
Ejemplos
Empaquetamientos de aplicaciones javas: jar, war y ear.
Itinerarios de viajes de paquetes turísticos.
No hay comentarios:
Publicar un comentario