模板模式:
使用抽象操作在基类中定义基本方法,在子类中实现覆盖。模板模式将算法的轮廓保留在单独的方法中。该方法被称为模板方法。
和建造者模式非常类似。只是建造者模式多了一个类,指挥类,该类就是模板中基类的固定算法的功能相同,它是一个创建对象的固定算法。模板模式强调创建对象需要经历哪些固定步骤。
代码实现:
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()