mybatis 梳理2--代理设计模式 静态代理、动态代理(Proxy) (懵)

mybatis 梳理2--代理设计模式   静态代理、动态代理(Proxy)   (懵)

代理设计模式

代理的核心功能是方法增强

(1) 静态代理

①静态代理角色分析

 mybatis 梳理2--代理设计模式   静态代理、动态代理(Proxy)   (懵)

②代码实现

  •    抽象角色                  mybatis 梳理2--代理设计模式   静态代理、动态代理(Proxy)   (懵)
  •    真实角色mybatis 梳理2--代理设计模式   静态代理、动态代理(Proxy)   (懵)

  •    代理角色mybatis 梳理2--代理设计模式   静态代理、动态代理(Proxy)   (懵)

  •     客户:     mybatis 梳理2--代理设计模式   静态代理、动态代理(Proxy)   (懵)

                        mybatis 梳理2--代理设计模式   静态代理、动态代理(Proxy)   (懵)

  

③ 分析:

mybatis 梳理2--代理设计模式   静态代理、动态代理(Proxy)   (懵)

优缺点:

 mybatis 梳理2--代理设计模式   静态代理、动态代理(Proxy)   (懵)

(2) 动态代理

两种实现方式:① 基于接口的动态代理--JDK动态代理            ②基于类的动态代理--cglib  

 mybatis 梳理2--代理设计模式   静态代理、动态代理(Proxy)   (懵)

mybatis 梳理2--代理设计模式   静态代理、动态代理(Proxy)   (懵)

 mybatis 梳理2--代理设计模式   静态代理、动态代理(Proxy)   (懵)

Proxy:第一个参数 类加载器,第二个参数 类实现的所有的接口 (即接口数组), 

 ② Proxy(懵懵懵)    代码实现

mybatis 梳理2--代理设计模式   静态代理、动态代理(Proxy)   (懵)  不需要 代理人 类