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

輸出

上述程式產生以下輸出 −

Template Pattern

說明

此程式碼建立一個模板來準備餐點。在此,每個引數都代表建立一個餐點部分(如茶、披薩等)的屬性。

輸出表示屬性的視覺化。

廣告