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()