java基础——接口和工厂模式

北城余情 提交于 2020-01-04 10:33:33
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();
    }
    
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!