模板方法模式(TemplateMethod)
定义:
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
特点:
模板方法模式就是提供了一个很好的代码复用平台;它通过把不变行为搬移到超类,去除子类中的重复代码来体现它的优势。
示例:
代码:
/**
* 模板方法抽象类
* 定义模板方法和子类需实现的方法
*/
public abstract class AbstractClass {
//定义模板方法
public void templateMethod() {
method1();
method2();
}
//定义子类步骤方法
public abstract void method1();
public abstract void method2();
}
/**
* 模板方法模式的具体实现子类
*/
public class ConcreteClass extends AbstractClass {
@Override
public void method1() {
//实现具体动作
}
@Override
public void method2() {
//实现具体动作
}
}