1.概念定义
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类在不改变一个算法的结构即可重定义该算法的某些特定步骤。
2.模板方法使用到了“好莱坞法则”
“好莱坞法则”–不要找我们,我们会联系你。
即父类通过在公共方法里调用抽象方法,而具体的实现由子类负责。
模板方法示例:
private abstract class AbstractClass{
public abstract void operation1();
public abstract void operation2();
//模板方法
public templateMethod(){
operation1();
operation2();
}
}
public class ConcreteClass extends AbstractClass{
public void operation1(){
//do something
}
public void operation2(){
//do something
}
}