public abstract class Game { //抽象方法
abstract void initialize(); abstract void startPlay(); abstract void endPlay(); //模板方法
public final void play(){ //初始化遊戲
initialize(); //開始遊戲
startPlay(); //結束遊戲
endPlay(); } }
public class Football extends Game { @Override void endPlay() { System.out.println("足球遊戲結束......"); } @Override void initialize() { System.out.println("足球遊戲初始化中......"); } @Override void startPlay() { System.out.println("足球遊俠開始了......"); } }
public class TemplatePatternDemo { public static void main(String[] args) { //建立足球遊戲實例
Game game = new Football(); //開始遊戲
game.play(); } }
足球遊戲初始化中......
足球遊俠開始了......
足球遊戲結束......
//提交事務
public final void commit() //獲取TransactionStatus
public final TransactionStatus getTransaction()
//提交事務
protected abstract void doCommit(DefaultTransactionStatus status); //回滾事務
protected abstract void doRollback(DefaultTransactionStatus status); //開始事務
protected abstract void doBegin(Object transaction, TransactionDefinition definition) //獲取當前的事務對象
protected abstract Object doGetTransaction()