代理

代理模式(Proxy Pattern),强调的是对对象的控制。

IUserDao

public interface IUserDao {
    void save();
}

UserDao

public class UserDao implements IUserDao {
    @Override
    public void save() {
        System.out.println("----已经保存数据!----");
    }
}

UserDaoProxy

public class UserDaoProxy implements IUserDao{

    private IUserDao userDao = new UserDao();

    @Override
    public void save() {
        System.out.println("开始事务...");
        userDao.save();
        System.out.println("提交事务...");
    }
}

测试

public class App {
    public static void main(String[] args) {

        //代理对象
        UserDaoProxy proxy = new UserDaoProxy();

        proxy.save();//执行的是代理的方法
    }
}

参考

Java设计模式(六) 代理模式 vs. 装饰模式

版权

评论