其他分享
首页 > 其他分享> > 代理模式

代理模式

作者:互联网

代理模式

/*
* 代理模式
* */
public class Demo {
    public static void main(String[] args) {
        // 实例化被代理类
        Demo01Impl demo01 = new Demo01Impl();
        // 使用被代理类实例化代理类
        ProxyServer proxyServer = new ProxyServer(demo01);
        /*
        * 此时有参构造后,代理类中的 private Demo01 demo01 = new DemoImpl();
        * */
        proxyServer.method01();
        /*
        * 此时进入代理类的method01()中
        * checkMethod01();
        * demo01.method01();
        * 先执行checkMethod01(),然后调用这个private Demo01 demo01 = new DemoImpl();的method01()
        *
        * 此时结果为:
        * method01的检查工作
        * 被代理类method01
        * */
    }
}

// 接口
interface Demo01 {
    void method01();
}

// 被代理类
class Demo01Impl implements Demo01 {

    @Override
    public void method01() {
        System.out.println("被代理类method01");
    }
}

// 代理类
class ProxyServer implements Demo01 {

    private Demo01 demo01;

    // 在构造器中对demo01初始化
    public ProxyServer(Demo01 demo01) {
        this.demo01 = demo01;
    }

    public void checkMethod01() {
        System.out.println("method01的检查工作");
    }

    @Override
    public void method01() {
        checkMethod01();
        demo01.method01();
    }
}

标签:void,Demo01,模式,代理,demo01,method01,public
来源: https://www.cnblogs.com/coderDreams/p/15984552.html