设计模式之模板方法模式
模板方法模式是一个非常简单的模式,因为它只使用到了继承关系。
模板方法(Template Method)模式:定义一个操作中的算法的骨架,而将一些步骤延续到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
来看下这个简单模式的结构吧:
1) 抽象类(Abstract Class):定义了一到多个的抽象方法,以供具体的子类来实现它们;而且还要实现一个模板方法,来定义一个算法的骨架。该模板方法不仅调用前面的抽象方法,也可以调用其他的操作,只要能完成自身的使命。
2) 具体类(Concrete Class):实现父类中的抽象方法以完成算法中与特定子类相关的步骤。
下面是模板方法模式的结构图。直接把《设计模式》上的图拿过来用下:
由于模板方法模式是一种非常简单的方法,这里就不举例了。