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

解释

此代码创建一个模板来准备饭菜。在这里,每个参数代表创建餐点(如茶、披萨等)的属性。

输出表示属性的可视化。