有很多个方法,在多个地方都会用到,为了减少多次重复的操作,选择模板方法模式将这些方法聚在一起做成一个模板形式,从而减少客户端的代码复杂度。实现原理图如下:
public abstract class Template {
public void doSalary(){
operation1();
operation2 ();
operation3 ();
}
public abstract void operation1();
public abstract void operation2();
public abstract void operation3();
}
具体类的实现示意代码如下:
public class ConcreteTemplate extends Template{
public void operation1(){}
public void operation2(){}
public void operation3(){}
}
模板方法模式和策略模式起步点类似,策略模式主要是针对一个方法时,模板方法模式是在多个方法下采取的模式,主要是因为运用这些方法时还有一个循序可以单独抽取出来作为模板使用。
应用:JUnit单元测试,Servlet使用;
参考文献
[1] 郭峰.深入浅出设计莫模式[M].中国铁道出版社,2013(1):325-361.
设计模式(十五)模板方法模式(Template Method)-行为型
原文地址:http://blog.csdn.net/dream_angel_z/article/details/45691765