设计模式的目的是让代码易维护、易扩展,不能为了模式而模式,因此一个简单的工具脚本是不需要用到任何模式的。
模板方法模式:定义一个工作流或算法的基本骨架,而将一些特定步骤的实现延迟到子类中。
模板方法模式是面向对象编程实践中最容易总结出来的模式,即使没有学习过设计模式的开发人员,也会很自然的使用该模式,举个简单例子:
class Person(object):
def Chew(self):
"""咀嚼食物"""
raise NotImplementedError()
def Swallow(self):
print '咽下去'
def Eat(self):
# 吃饭分两步,先嚼,再咽。
self.Chew()
self.Swallow()
class Man(Person):
def Chew(self):
# 男人通常狼吞虎咽
print '嚼三下'
class Woman(Person):
def Chew(self):
# 女人通常细嚼慢咽
print '嚼六下'
我们把吃饭的步骤定义好,然后把相同的部分提炼出来,把不同的部分让子类去实现。
计算机的设备驱动也采用类似的设计模式,系统把通用的部分提炼出来,让各硬件厂商根据驱动模板实现自己特有的部分。
原文地址:http://www.isware.cn/python-design-pattern/07-template-method/