お待ちください...

小波Note

四川 · 成都市14 ℃
日本語

Java Proxy

成都 (cheng du)2024/8/26 18:15:26956見積もり読書時間 3 分お気に入りCtrl + D / ⌘ + D
cover
IT FB(up 主)
バックエンド開発エンジニア

Proxy パターンは、別のオブジェクトの代わりやプレースホルダーを提供する構造型のデザインパターンです。プロキシは、元のオブジェクトへのアクセスを制御し、リクエストが元のオブジェクトに到達する前または後に何かを実行できます。たとえば、アクセス許可をチェックしたり、リクエストをログに記録したり、リクエストの結果をキャッシュしたりすることができます。

定义接口

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();
    }
}