对于代理模式的模板其实际就是通过外部注入被代理对象,而作为代理对象只会包含部分或全部被代理对象的功能;
可以参考{@link java.util.concurrent.Executors.DelegatedExecutorService}
对于delegate 模式也可以从命名方式上进行识别;
对于代理模式形象的描述为 被代理对象赋予了代理对象部分权利(功能)
对于代理对象和被代理对象 在关系上可以看做 代理对象就是被代理对象,一般情况下其并会存在直接的继承或子父级关系
public class CharacterProxy { // delegate 被代理 private final CharSequence delegate; public CharacterProxy(CharSequence delegate) { this.delegate = delegate; } @Override public String toString() { return delegate.toString(); } }