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