Template Method (patrón de diseño)

Template Method (patrón de diseño)
Template method: diagrama de clases en UML.

Un Template Method es un patrón de diseño que define una estructura algorítmica en la súper clase, delegando la implementación a las subclases. Es decir, define una serie de pasos, en donde los pasos serán redefinidos en las subclases.

Contenido

Propósito

Usando el Template Method, se define una estructura de herencia en la cual la superclase sirve de plantilla de los métodos en las subclases. Una de las ventajas de este método es que evita la repetición de código, por tanto la aparición de errores.

¿Cuándo usarlo?

Este patrón se vuelve de especial utilidad cuando es necesario realizar un algoritmo que sea común para muchas clases, pero con pequeñas variaciones entre una y otras.

Implementación

Un ejemplo muy poco específico sería el siguiente:

Ejemplo de uso del patrón en un lenguaje PseudoFormal

CLASE ABSTRACTA Automóvil 
    ABSTRACTA ACCION cambioMarcha(); //Sea como sea, los métodos deben ser definidos
    ABSTRACTA ACCION acelerar();     //como abstractos o virtuales
    ABSTRACTA ACCION frenar();      
    ACCION andar()                   // andar() es un TemplateMethod
        MIENTRAS(vehículo_encendido) HACER
            acelerar();
            SI(revoluciones_altas) ENTONCES
                 cambioMarcha();     // se invoca a la PrimitiveOperation1 cambioMarcha()
            FinSI
            Si(obstaculo) ENTONCES
                frenar();            // se invoca a la PrimitiveOperation2 frenar()
            FinSI
        FinMIENTRAS
    FinACCION
FinCLASE

CLASE AutomóvilManual HEREDA Automóvil
    ACCION cambioMarcha()
          /*Implementa el método primitivo cambiar marcha en un auto manual*/
    FinACCION
FinCLASE

CLASE AutomóvilAutomático HEREDA Automóvil
    ACCION cambioMarcha()
          /*Implementa el método primitivo cambiar marcha en un auto automático*/
    FinACCION
FinCLASE


Wikimedia foundation. 2010.

Игры ⚽ Поможем сделать НИР

Mira otros diccionarios:

  • Patrón de diseño — Saltar a navegación, búsqueda Los patrones de diseño (design patterns) son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces. Un patrón de… …   Wikipedia Español

  • Command (patrón de diseño) — En programación orientada a objetos, Command es un patrón de diseño. Contenido 1 Intención 2 Propósito 3 Motivo 4 Aplicaciones …   Wikipedia Español

  • Rosetta@home — Saltar a navegación, búsqueda Rosetta@home Desarrollador Baker laboratory, University of Washington; Rosetta Commons http://boinc.bakerlab.org/rosetta Información gene …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”