您好,欢迎来到花图问答。
搜索
您的当前位置:首页代理模式实现

代理模式实现

来源:花图问答

类图

代理模式类图.png

效果

代理对象开始执行……
真实对象正在处理
代理对象结束执行……

Process finished with exit code 0

实现

使用方

package 

public class Main {

    public static void main(String[] args) {
    // write your code here
        CommonInterface proxy = new ProxyOne();
        proxy.protocolMethod();
    }
}

遵循的协议

package 

/**
 * 公共的协议接口
 */
public interface CommonInterface {
    /**
     * 示例性的接口方法。
     */
    void protocolMethod();
}

被代理方

package 

/**
 * 真正的对象本身
 */
public class RealOne implements CommonInterface {
    @Override
    public void protocolMethod() {
        System.out.println("真实对象正在处理");
    }
}

代理方

package 

public class ProxyOne implements CommonInterface {
    private RealOne realOne;//被代理的对象。

    public RealOne getRealOne() {
        if (this.realOne == null)this.realOne = new RealOne();
        return realOne;
    }

    @Override
    public void protocolMethod() {
        System.out.println("代理对象开始执行……");
        this.getRealOne().protocolMethod();
        System.out.println("代理对象结束执行……");
    }
}

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务