package proxy;


/*
 *     代理模式:把原对象(被代理类)的一些功能交给代理类处理
 *         
 *         安全代理:屏蔽真实角色的直接访问
 *         远程代理:通过代理类处理远程方法调用RMI
 *         延迟加载:先加载轻量级代理对象,需要时通过代理对象再加载真实对象
 *     动态生成代理类( 需要反射 ),静态生成代理类
 * 
 * */

public class ProxyTest {
    public static void main(String[] args) {
        Server server = new Server();
        //1.把真实服务器交给代理类
        ProxyServer proxyServer = new ProxyServer(server);
        //2.让代理类联网,实质上就是让真实服务器联网
        proxyServer.browse();
    }
}

interface NetWork{
    
    public void browse();
    
}

//被代理类
class Server implements NetWork{

    @Override
    public void browse() {
        System.out.println("服务器访问网络");
    }
}
//代理类
class ProxyServer implements NetWork{

    private NetWork work;
    
    public ProxyServer(NetWork work) {
        this.work = work;
    }
    
    public void check() {
        System.out.println("联网前检查工作");
    }
    
    @Override
    public void browse() {
        check();
        work.browse();
    }
    
}

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-21
  • 2021-12-19
  • 2021-08-07
  • 2021-04-26
  • 2021-07-06
  • 2021-08-22
猜你喜欢
  • 2022-02-15
  • 2021-11-06
  • 2022-12-23
  • 2021-07-03
  • 2022-01-24
  • 2022-02-11
  • 2021-11-03
相关资源
相似解决方案