从0到1!大话动静态代理
追溯 学一个技术,要知道技术因何而产生,才能有学下去的目标和动力,才能更好的理解 首先,要明确为什么要存在代理呢? 存在一个常见的需求:怎样在不修改类A代码的情况下,在调用类A的方法时进行一些功能的附加与增强呢? 先不考虑什么代理不代理的,我们设计一个简单的实现方案: 新创建一个类B,类B组合类A,在类B中创建一个方法b,方法b中调用类A中的方法a,在调用前和调用后都可以添加一些自定义的附加与增强代码。 当有需求需要调用类A的方法a并且想要添加一个附加功能时,就去调用类B的方法b即可实现上述需求; 下面为了便于理解,附上伪代码: // 定义类A public class ClassA{ public void methoda(){ System.out.println("我是方法a!"); } } // 定义类B public class ClassB{ // 组合ClassA ClassA A; public ClassB(ClassA A){ this.A = A; } @Override public void methodb(){ System.out.println("我是方...

