设计模式-代理模式

1.代理模式定义

代理模式(Proxy Pattern)是指为其他对象提供一种代理,以控制对这个对象的访问。

代理对象在客服端和目标对象之间起到中介作用。

属于结构型设计模式

2.代理模式的使用场景

  • 保护目标对象
  • 增强目标对象

3.代理的类型

  • 静态代理
    显示声明被代理对象
  • 动态代理

4.JDK动态代理实现原理

  1. 拿到被代理类的引用,并且获取它的所有的接口(反射获取)。
  2. JDK Proxy 类重新生成一个新的类,实现了被代理类所有接口的方法。
  3. 动态 生成Java代码,把增强逻辑加入到新生成的代码中。
  4. 编译生成新的Java代码的Class文件。
  5. 加载并重新运行新的Class,得到类就是新的全新的类。

你可能感兴趣的:(设计模式)