/**
* 代理对象,静态代理
*/
public class UserDaoProxy implements IUserDao{
//接收保存目标对象
private IUserDao target;
public UserDaoProxy(IUserDao target){
this.target=target;
}
//已经将局部变量变为成员变量了,为什么还要实现接口
public void save() {
System.out.println("开始事务...");
target.save();//执行目标对象的方法
System.out.println("提交事务...");
}
}
保证目标对象和代理对象方法一致,手动保持方法名一致,不符合设计规范,毕竟是一种设计模式。