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
* */

可以看到,具体的规范细节可以让子类去实现,这样使得我们可以同步开发模版方法和规范细节,使得开发变得高效。

posted @ 2018-12-06 13:45  问月晚安  阅读(114)  评论(0编辑  收藏  举报