Python Design Patterns - Template
Um padrão de template define um algoritmo básico em uma classe base usando operação abstrata onde as subclasses substituem o comportamento concreto. O padrão de modelo mantém o esboço do algoritmo em um método separado. Esse método é conhecido como método de modelo.
A seguir estão os diferentes recursos do padrão de modelo -
Ele define o esqueleto do algoritmo em uma operação
Inclui subclasses, que redefinem certas etapas de um 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()
Resultado
O programa acima gera a seguinte saída -
Explicação
Este código cria um modelo para preparar a refeição. Aqui, cada parâmetro representa o atributo para criar uma parte da refeição, como chá, pizza, etc.
A saída representa a visualização dos atributos.