设计模式 | 代理模式

158 阅读1分钟

定义

为其他对象提供一种代理以控制对这个对象的访问。

使用场景

当无法或不想直接访问某个对象时可以通过一个代理对象来间接访问。

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