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

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();
    }
    
}

猜你喜欢

转载自www.cnblogs.com/zsben991126/p/12148139.html
今日推荐