静态代理模式的源代码

来源:互联网 发布:任我行软件 编辑:程序博客网 时间:2024/06/05 19:57

代理模式:在不改变原有的代码的基础之上对功能进行加强。

1.package cn.zzsxt.demo;


public interface UserDao {
public void add(); 
}

2.package cn.zzsxt.demo;


public class UserDaoImpl implements UserDao {


public void add() {
//System.out.println("开启事务!");
System.out.println("执行了用户的新增");
//System.out.println("提交事务!");
}
}

3.package cn.zzsxt.demo;
/**
 * 代理模式:在不改变原有的代码的基础之上对功能进行加强。
 * @author Administrator
 *
 */
public class UserDaoProxy implements UserDao{
private UserDao target;//被代理目标

public UserDaoProxy(UserDao target){
this.target=target;
}
@Override
public void add() {
System.out.println("开启事务!");
target.add();//调用被代理目标中的方法
System.out.println("提交事务!");

}
}

4.package cn.zzsxt.demo;


public class Test {
public static void main(String[] args){
// UserDao userDao=new UserDaoImpl();
// userDao.add();
UserDao userDao=new UserDaoProxy(new UserDaoImpl());
userDao.add();
}
}

原创粉丝点击