`
臻是二哥
  • 浏览: 184109 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
Group-logo
Java技术分享
浏览量:0
社区版块
存档分类
最新评论

模板方法模式和回调模式

阅读更多

//模板模式----实现编程式事务管理
abstract class TransactionTemplate{
	public void transaction(){
		beforeTransaction();
		doInTransaction();
		afterTransaction();
	}
	private void beforeTransaction(){
		System.out.println("事务开始前");
	}
	private void afterTransaction(){
		System.out.println("事务结束后");
	}
	public abstract void doInTransaction();
}

class MyTransaction extends TransactionTemplate{
	@Override
	public void doInTransaction() {
		System.out.println("进行转账操作");
	}
}

public class Demo{
	public static void main(String [] args){
		MyTransaction myTransaction=new MyTransaction();
		myTransaction.transaction();
	}
}


//回调模式----实现编程式事务管理
interface InTransaction{
	public void doInTransaction();
}

class TransactionTemplate{
	public void transaction(InTransaction inTransaction){
		beforeTransaction();
		inTransaction.doInTransaction();
		afterTransaction();
	}
	private void beforeTransaction(){
		System.out.println("事务开始前");
	}
	private void afterTransaction(){
		System.out.println("事务结束后");
	}
	
}

public class Demo{
	public static void main(String [] args){
		//回调方法模式
		new TransactionTemplate().transaction(new InTransaction() {
			@Override
			public void doInTransaction() {
				System.out.println("进行转账操作");
			}
		});
	}
}

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics