Java设计模式之模版方法模式
模版方法模式就是使用一个抽象类声明一个或一组规范,并且定义一个模版方法使用这组规范所产生的结果,而这组规范会等到子类实现它时再根据不同的情况实现不同的策略。
我们举一个简单直观的例子说明这个模式。
/*
* 定义模版方法抽象类
* */
abstract class TemFunDP{
/*
* 声明规范
* */
abstract String Demo();
/*
* 定义模版方法
* */
public void Tem_Function(){
System.out.println("我是"+Demo());
}
}
/*
* 定义两个子类,分别实现具体的规范细节
* */
class ConcreteSonone extends TemFunDP{
public String Demo(){
return "Son_one";
}
}
class ConcreteSontwo extends TemFunDP{
public String Demo(){
return "Son_two";
}
}
public class TemFun {
public static void main(String[] args) {
ConcreteSonone c1 = new ConcreteSonone();
ConcreteSontwo c2 = new ConcreteSontwo();
c1.Tem_Function();
c2.Tem_Function();
}
}
/*
* output:
* 我是Son_one
* 我是Son_two
* */
可以看到,具体的规范细节可以让子类去实现,这样使得我们可以同步开发模版方法和规范细节,使得开发变得高效。