静态代理模式
静态代理模式实现代理逻辑和被代理逻辑的隔离性,它是责任链模式的变体。静态体现在代理类在编译阶段确定且由于开闭原则的限制只能为一个接口作代理。
package com.life.proxy; public class NetWorkTest { public static void main(String[] args) { Server server = new Server(); ProxyServer proxyServer = new ProxyServer(server); 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(); } }