Python Design Patterns 简明教程

Python Design Patterns - Template

模板模式在一个基类中使用抽象操作定义一个基本算法,其中子类覆盖具体行为。模板模式在单独的方法中保留算法的轮廓。该方法被称为模板方法。

以下是模板模式的不同特点 −

  1. 它定义了算法在操作中的骨架

  2. 它包括子类,重新定义一个算法的某些步骤。

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()

Output

上述程序生成以下输出 −

template pattern

Explanation

这个代码创建了一个用于准备餐点的模板。这里,每个参数表示创建膳食部分的属性,如茶、比萨等。

输出显示了属性的可视化。