Patrones de diseño de Python - Plantilla
Un patrón de plantilla define un algoritmo básico en una clase base usando una operación abstracta donde las subclases anulan el comportamiento concreto. El patrón de plantilla mantiene el esquema del algoritmo en un método separado. Este método se denomina método de plantilla.
A continuación se muestran las diferentes características del patrón de plantilla:
Define el esqueleto del algoritmo en una operación.
Incluye subclases, que redefinen ciertos pasos de un algoritmo.
class MakeMeal:
def prepare(self): pass
def cook(self): pass
def eat(self): pass
def go(self):
self.prepare()
self.cook()
self.eat()
class MakePizza(MakeMeal):
def prepare(self):
print "Prepare Pizza"
def cook(self):
print "Cook Pizza"
def eat(self):
print "Eat Pizza"
class MakeTea(MakeMeal):
def prepare(self):
print "Prepare Tea"
def cook(self):
print "Cook Tea"
def eat(self):
print "Eat Tea"
makePizza = MakePizza()
makePizza.go()
print 25*"+"
makeTea = MakeTea()
makeTea.go()
Salida
El programa anterior genera la siguiente salida:
Explicación
Este código crea una plantilla para preparar comida. Aquí, cada parámetro representa el atributo para crear una parte de la comida como té, pizza, etc.
La salida representa la visualización de atributos.