¡GoConqr estrena diseño! Cuéntanos qué te parece.

Mapa mental

TEMPLATE METHOD

juandavidp10 Español

Contenido del mapa

TEMPLATE METHOD

  1. ¿QUE ES?

    • Patrón de comportamiento
  2. DEFINICIÓN

    • Define una operacion, el esqueleto de un algoritmo, delegando en las subclases algunos de sus pasos.
  3. 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
  4. 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)
  5. 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.
    • 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
  6. COLABORACIONES

    • Las clases concretas se basan en la clase abstracta para implementar la parte invariante del algoritmo
  7. 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

Información

Descripción
Mapa Mental sobre TEMPLATE METHOD, creado por juandavidp10 el 15/03/2015.
Creado por
juandavidp10
Visitas
0
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?