Proxy - 代理模式
Proxy-代理模式
| why |
|
||
|---|---|---|---|
| 主要角色 |
|
||
| eg | ![]() |
||
JDK动态代理 (有接口的情况下) 基于反射实现 代理类实现了目标接口 代理类 将我们提供的匿名内部类 形参传递给了父类 (用InterceptorHandler 接口接收的) |
|
||
CGLIB 动态代理 (没有接口的情况下) 基于继承实现动态代理 因此 其提供的代理对象 是目标类的子类(需要set) 代理类还要实现methodInterceptor接口, 重写interceptor方法 |
![]() |
||
jdk和cglib对比 |
JDK 动态代理基于接口;CGLIB 基于继承。
|
||
| 动态代理vs静态代理 | ![]() |
||
| 代理模式的优缺点 | 优点: 1.拓展目标对象的功能 2.中介保护目标对象 3.降低了客户端和目标对象的耦合度 缺点: 增加系统复杂度 |
||
| 使用场景 |
还有防火墙代理
|














