23种设计模式之代理模式(动态代理)

23种设计模式之代理模式(动态代理)

一:什么是动态代理:

  利用反射机制在运行时创建代理类。接口、被代理类不变。

二:动态代理和静态代理的不同:

  1、静态代理的代理类是程序员事先写好的

  2、动态代理的代理类是在程序运行时动态生成的

三:动态代理分为两大类:

  1、基于接口的动态代理

  2、基于类的动态代理

四:动态代理的三种实现方式:

  1、基于接口—>JDK动态代理 (JAVA原生的)(我们在这里使用)

  2、基于类—>cglib (自己查阅资料做了解)

  3、java字节码实现—> javassist (查资料了解)

五:在使用动态代理之前,首先了解两大类

  1、Proxy  (代理)

  2、InvocationHandler  (调用处理程序)

六:动态代理代码展示  (房东出租房子案例)

  1、创建一个抽象角色

1 //租房的接口      (抽象角色)
2 
3 public interface Rent {
4 
5     //出租的方法
6     void rent();
7 
8 }
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 23种设计模式之代理模式(动态代理)