模板模式使用抽象操作在基类中定义基本算法,其中子类覆盖具体行为。模板模式将算法的轮廓保留在单独的方法中。该方法被称为模板方法。
以下是模板模式的不同功能 -
- 它定义了操作中算法的骨架。
- 它包括子类,它重新定义了算法的某些步骤。
有关模板设计模式的实现,请参考以下代码 -
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()
执行上面示例代码,得到以下结果 -
解释说明
此代码创建一个模板来准备餐点。 在这里,参数表示用于创建茶,披萨等餐点的一部分的属性。输出表示属性的可视化。