Mindmap
TEMPLATE METHOD
Inhalt der Mindmap
TEMPLATE METHOD
¿QUE ES?
- Patrón de comportamiento
DEFINICIÓN
- Define una operacion, el esqueleto de un algoritmo, delegando en las subclases algunos de sus pasos.
PROPÓSITO
- Permitir que ciertos pasos de un algoritmo definido en una operación de una superclase, sean redefinidos en las subclases sin necesidad de tener que sobrescribir la operación entera
APLICABILIDAD
- Cuando contamos con un algoritmo con varios pasos que no cambian, de modo que dichos pasos invariantes serían implementados en una superclase, dejando la implementación de los pasos que cambian para las subclases.
- Para evitar la replicación de código mediante generalización
- Para controlar las extensiones de las subclases
- Juegan un papel clave en las bibliotecas de clases ya que permiten extraer el comportamiento común de las clases de la biblioteca
- Creación de sistemas de plugins gracias principalmente a la utilización de las anteriormente citadas operaciones de enganche (hooks)
PARTICIPANTES
- CLASE ABSTRACTA
- ROPORCIONA
- La definición de una serie de operaciones primitivas que implementan los pasos de un algoritmo y que serán definidas en las subclases.
- HACE
- La implementación de un método desde el cual son invocadas, entre otras, las operaciones primitivas.
- ROPORCIONA
- CLASE CONCRETA
- IMPLEMENTA
- Las operaciones primitivas definidas en la clase abstracta de la cual hereda, quedando así determinado el comportamiento específico del algoritmo definido en el método plantilla, para cada subclase
- IMPLEMENTA
- CLASE ABSTRACTA
COLABORACIONES
- Las clases concretas se basan en la clase abstracta para implementar la parte invariante del algoritmo
CONSECUENCIAS
- La utilización de este patrón es fundamental a la hora de reutilizar código
- Se invierte el control: en este caso la superclase es la encargada de llamar a las operaciones definidas en las subclases
- DISTINCIÓN ENTRE
- Operaciones primitivas
- Implementadas en la superclase
- Operaciones de enganche o hooks
- Proporcionan un código por defecto que puede ser refinado en las subclases
- Operaciones primitivas
Informationen
- Beschreibung
- Mindmap am TEMPLATE METHOD, erstellt von juandavidp10 am 15/03/2015.
- Erstellt von
- juandavidp10
- Aufrufe
- 0
- Bewertung