大话设计模式-代理模式

版权声明:Leo.All Rights Reserved. https://blog.csdn.net/qq_41113081/article/details/88815614

/**
 * 定义一个统一的接口
 * 里面包含了真实用户和代理都要实现的方法
 */
public interface Subject {
    void Request();
}
/**
 * 真实的用户
 */
public class RealSubject implements Subject {
    @Override
    public void Request() {
        System.out.println("真实的请求");
    }
}
/**
 * 代理用户发起请求
 */
public class Proxy implements Subject {
    //真实用户
    private RealSubject realSubject;

    public Proxy() {
        if (realSubject == null) {
            realSubject = new RealSubject();
        }
    }

    public Proxy(RealSubject realSubject) {
        this.realSubject = realSubject;
    }

    @Override
    public void Request() {
        realSubject.Request();
    }
}
public class Main {
    public static void main(String[] args) {
        Proxy proxy = new Proxy();
        proxy.Request();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_41113081/article/details/88815614
今日推荐