GoConqr has a new look! Let us know what you think.

Mind map

TEMPLATE METHOD

juandavidp10 Spanish

Map content

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

Information

Description
Mind Map on TEMPLATE METHOD, created by juandavidp10 on 15/03/2015.
Created by
juandavidp10
Views
0
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?