Python 设计模式 - 模板模式(Template Pattern)

模板模式(Template Pattern)使用抽象操作在基类中定义基本算法,其中子类覆盖具体行为。 模板模式将算法的轮廓保存在一个单独的方法中。 此方法称为模板方法。

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

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

  • 它包括重新定义算法某些步骤的子类。

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

输出

以上程序生成如下输出 −

模板模式(Template Pattern)

说明

这段代码创建了一个准备饭菜的模板。 在这里,每个参数代表创建食物的一部分的属性,如茶、披萨等。

输出表示属性的可视化。