前言
在上一篇文章责任链模式中提到了模板方法模式,因此这里简单介绍一下.
模板方法模式比较简单,或者说比较常用.在开发过程中,许多人在不知不觉的情况下就会使用,只要他具有良好的面对对象思维....比如当你写了Dog和Cat两个类,发现很多相同的代码,你自然就会将相同模块提取抽象成父类,然后将一些公共的方法放到父类中,这样子就基本实现了模板方式模式....角色
抽象模板: 抽象模板一般有一个具体实现的方法,用来定义算法的基础骨架.还有一些抽象方法留给子类去具体实现.此外还有一些有默认实现的钩子方法.子类可选实现....,这里简单的用一个变量来当做钩子,此外,prepared和bite是具体方法,而move和shout为抽象方法....而且当动物越来越多,代码的总量会越来越少且容易维护,新添加一个动物,只需要继承动物模板,然后实现move和shout即可.