Python设计模式 模板模式
模板模式在基类中使用抽象操作定义了一个基本算法,子类覆盖了具体行为。模板模式在一个单独的方法中保留了算法的轮廓。这个方法被称为模板方法。
以下是模板模式的不同特点
- 它在一个操作中定义了算法的骨架
-
它包括子类,这些子类重新定义了算法的某些步骤。
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()
输出
上述程序产生了以下输出 –
解释
这段代码创建了一个模板来准备膳食。在这里,每个参数代表了创建膳食的一部分的属性,如茶、比萨饼等。
输出表示属性的可视化。