美文网首页Python精耕细作Python点滴
[Python设计模式] 07 - 模板方法模式

[Python设计模式] 07 - 模板方法模式

作者: 蓝色信仰 | 来源:发表于2015-03-29 22:10 被阅读358次

设计模式的目的是让代码易维护、易扩展,不能为了模式而模式,因此一个简单的工具脚本是不需要用到任何模式的。

模板方法模式:定义一个工作流或算法的基本骨架,而将一些特定步骤的实现延迟到子类中。

模板方法模式是面向对象编程实践中最容易总结出来的模式,即使没有学习过设计模式的开发人员,也会很自然的使用该模式,举个简单例子:

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/

相关文章

网友评论

    本文标题:[Python设计模式] 07 - 模板方法模式

    本文链接:https://www.haomeiwen.com/subject/pnnnxttx.html