什么叫模版方法模式:
模版方法其实就是父类定义了一整套的骨架流程,而其中的某些方法,需要子类来完成,这样子的好处是,方法流程已经定义好,子类要做的事情就是按着流程和模版自己写实现。
开发中的模版方法模式:
1.spring data中的jdbcTemp
2.junit测试
3.数据库的访问封装
模版方法模式例子:
这里实现的场景是用户去吃饭,首先是团购,然后到饭店吃饭,最后在美团点评,其中到饭店吃饭,需要用户自己起身到饭店吃饭
public abstract class DinnerTemplate {
private void tuangou() {
System.out.println("团购");
}
abstract void haveDinner();
private void pingjia() {
System.out.println("评价");
}
public void process(){
tuangou();
haveDinner();
pingjia();
}
}
class WesternStyleFood extends DinnerTemplate {
@Override
protected void haveDinner() {
System.out.println("吃西餐");
}
}
class ChineseStyleFood extends DinnerTemplate {
@Override
protected void haveDinner() {
System.out.println("吃中餐");
}
}
这里我们定义了process方法,里面定义了处理的流程过程,客户端,只需要调用这个流程即可,而haveDinner,就由具体的用户自己去实现
public class Client {
public static void main(String[] args) {
DinnerTemplate westernStyleFood = new WesternStyleFood();
DinnerTemplate chineseStyleFood = new ChineseStyleFood();
westernStyleFood.process();
chineseStyleFood.process();
}
}