关于代理模式的个人理解

静态代理模式:

  实际上使用的时候,某些接口的实现类满足不了条件,或者想改变少部分方法的实现.采用静态代理模式

      静态代理实际上新实现一个接口, 但是这个类里面有一个 老的实现类的引用. 重写需要改变的方法, 不许改变的方法直接调用老的方法就好

动态代理模式:

  如果采用静态代理发现相同的代码太多了. 可以该用动态代理代码 在invoke方法里面讲 共同代码写在哪里. 特殊的采用 :

  if(Connection.class.isAssignableFrom(proxy.getClass()) && method.getName().equals("close")){
   do 特殊的事情处理
}
总体来说代理类 就是 增加一些功能 不改变原有代码. 或者提炼原有代码的公共点
原文地址:https://www.cnblogs.com/haoerlv/p/7516690.html