请稍等...

小波Note

四川 · 成都市11 ℃
中文

Java 代理模式 (Proxy)

成都 (cheng du)2024/8/26 18:15:26867预计阅读时间 2 分钟
二维码
收藏Ctrl + D / ⌘ + D
cover
IT FB(up 主)
后端开发工程师

代理模式是一种结构型设计模式,它允许你提供一个代理对象来控制对另一个对象的访问。代理对象可以在访问实际对象之前或之后执行一些操作,例如控制访问权限、延迟初始化、记录日志等。

定义接口

java
        public interface Subject {
    void request();
}

    

创建真实对象

java
        public class RealSubject implements Subject {
    @Override
    public void request() {
        System.out.println("RealSubject: Handling request.");
    }
}

    

创建代理对象

java
        public class Proxy implements Subject {
    private RealSubject realSubject;

    @Override
    public void request() {
        if (realSubject == null) {
            realSubject = new RealSubject();
        }
        System.out.println("Proxy request");
        realSubject.request();
    }
}

    

使用代理对象

java
        public class ProxyPatternDemo {
    public static void main(String[] args) {
        Subject proxy = new Proxy();
        proxy.request();
    }
}

    
星空