13-模板方法模式
13-模板方法模式
1.模板方法模式
public abstract class AbstractClass {
public final void templateMethod() {
method01();
method02();
}
public abstract void method01();
public abstract void method02();
}
public class ConcreteClass extends AbstractClass {
@Override
public void method01() {
System.out.println("method01");
}
@Override
public void method02() {
System.out.println("method02");
}
}
2.模板方法模式总结
-
<<软件模式:可复用面向对象软件的基础>>中对模板方法模式的定义:模板方法模式在一个方法中定义一个算法框架,并将某些步骤推迟到子类中实现;模板方法模式可以让子类在不改变算法整体结构的情况下,重新定义算法中的某些步骤。
-
模板方法模式的实现:父类中定义算法框架,并使用final字段避免子类重写;算法的具体细节在父类中使用abstract定义,强制子类去实现。
-
模板方法模式的作用:复用,所有子类都可以复用父类模板方法中定义的流程代码;扩展,提高框架的可扩展性,可以让用户在不修改框架源码的情况下,定制化框架的功能。
-
模板方法和回调方法的区别