前言
本章讲解设计模式中模板方法模式的相关知识
方法
1.概念
在我们日常业务开发中,总会涉及到业务流程,而多个业务流程中开始和结尾的代码总是相同的,只有中间业务是不一样的。
如果按照传统的方式去开发的话,那么将会写很多冗余的业务代码。
如同我们去餐馆吃饭一样,首先都是点菜吃完了买单,那么中间吃些什么我们不得而知,这就涉及了具体的业务逻辑。
为了避免重复的编写代码,我们将采用模板方法设计模式。
2.模板方法设计模式的实现思路
1)创建相应的工程
2)编写模板类
package template;
/**
* 去餐馆吃饭的抽象类
* @author jwang
*
*/
public abstract class EatTemplate {
//吃饭前
public void eatBefore(){
System.out.println("我要点菜...");
}
//吃饭后
public void eatAfter(){
System.out.println("我要买单...");
}
//定义抽象方法吃饭,表示具体的业务逻辑,需要由子类实现
public abstract void eating();
//吃饭的业务流程
public final void process(){
eatBefore();
eating();
eatAfter();
}
}
3)编写测试代码测试
package template;
public class Test {
public static void main(String[] args) {
EatTemplate eat1 = new EatTemplate() {
@Override
public void eating() {
System.out.println("吃面条...");
}
};
EatTemplate eat2 = new EatTemplate() {
@Override
public void eating() {
System.out.println("吃满汉全席...");
}
};
eat1.process();
System.out.println("====================");
eat2.process();
}
}
程序执行结果如下:
由此可见,我们在核心的业务逻辑中编写什么代码,那么其前后的流程都是不变的,很好的实现了代码的重复利用。