定义
为其他对象提供一种代理以控制对这个对象的访问。
使用场景
当无法或不想直接访问某个对象时可以通过一个代理对象来间接访问。
Java 代码示例
public abstract class Subject {
public abstract void visit();
}
public class RealSubject extends Subject {
@Override
public void visit() {
}
}
public class ProxySubject extends Subject {
private RealSubject mRealSubject;
public ProxySubject(RealSubject realSubject) {
mRealSubject = realSubject;
}
@Override
public void visit() {
mRealSubject.visit();
}
}