什麼叫模版方法模式:
模版方法其實就是父類定義了一整套的骨架流程,而其中的某些方法,需要子類來完成,這樣子的好處是,方法流程已經定義好,子類要做的事情就是按着流程和模版自己寫實現。
開發中的模版方法模式:
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();
}
}