1, 代理模式, 这个地方的代理不是指JDK 动态代理 2, 代理模式和策略模式很像, 要注意区分, 区分的特征就是
2.1) 装饰者可以对任何的装饰抽象实例进行装饰, https://blog.csdn.net/weixin_42209307/article/details/108398449 2.2) 代理模式在编译期的时候就可以确定了被代理的对象, 保护的被代理对象信息
3, 案例
public interface Operand {
void upload(String file);
}
public class OperandA implements Operand {
@Override
public void upload(String file) {
System.out.println("被代理方法: " + file);
}
}
public class OperandProxy implements Operand {
private Operand operand;
public OperandProxy() {
this.operand = new OperandA();
}
@Override
public void upload(String file) {
System.out.println("代理方法: " + file);
operand.upload(file);
}
}
public class Main {
public static void main(String[] args) {
Operand operand = new OperandProxy();
operand.upload("a.png");
}
}
//=================================
代理方法: a.png
被代理方法: a.png
Process finished with exit code 0