个人理解,所谓动态代理是代理的一种。动态指得是在运行期间由Proxy帮我们生成了我们自己能写的代码。这些代码是我们程序员能写出来的,且这些代码和原有的类的代码有很强很固定的关系。这种很强很固定的关系是可以用代码固定下来的,固定下来的代码就是Proxy和调用处理器帮我们动态完成的功能。那些不能固定下来的代码,也就是是代理类与被代理的类功能上的不同点,是需要我们写的。
你可以找一些不用Proxy类但完成了代理功能的代码,再找到用Proxy完成的代理功能,就能清楚的发现其中的区别。网上有一些这样的代码,你可以找一些。Thinking in java里也有举例说明。
|