静态代理和动态代理
来源:互联网 发布:网络潮语大全2016霸气 编辑:程序博客网 时间:2024/06/06 18:14
相信不少人求职或跳槽,都会被问到动态代理,之前也一直是我的隐痛,很怕被问,也是活该,明知不足却迟迟没有将其弥补,还好我花了一点时间揭开其神秘的面纱。。。
静态代理,缺点极多,提供了一种思想而已,代理类也实现目标接口即可。
动态代理,有两种实现方式 jdk和cglib,大同小异,这里以jdk实现动态代理为例,但是这两种方式缺点也很明显,目前来看最好的动态代理的实现当属spring的aop,它实现了松耦合。
下面来看下类图:
静态代理,缺点极多,提供了一种思想而已,代理类也实现目标接口即可。
动态代理,有两种实现方式 jdk和cglib,大同小异,这里以jdk实现动态代理为例,但是这两种方式缺点也很明显,目前来看最好的动态代理的实现当属spring的aop,它实现了松耦合。
下面来看下类图:
类图比较简单, 一个目标接口,一个目标类,一个代理类, 代理类和目标类实现目标接口,代理类引入目标类。
1、目标接口
2、目标类
3、代理类
4、测试类
5、总结
静态代理,一个目标类,就需要一个代理类,如果是几十个目标类,就会造成类膨胀,工作量也大,不利于开发。
动态代理,多个目标类,可以共用一个代理类,但是还是有致命的缺点:如果invoke中的逻辑太过复杂,事物判断将会很困难,而且太过耦合。
spring的aop则没有这些弊端。
阅读全文
0 0
- 静态代理和动态代理
- 静态代理和动态代理
- 静态代理和动态代理
- 静态代理和动态代理
- 动态代理和静态代理
- 静态代理和动态代理
- 静态代理和动态代理
- 静态代理和动态代理
- 动态代理和静态代理
- 静态代理和动态代理
- 动态代理和静态代理
- 动态代理和静态代理
- 静态代理和动态代理
- 动态代理和静态代理
- 静态代理和动态代理
- 静态代理和动态代理
- 动态代理和静态代理
- 静态代理和动态代理
- “集体智慧编程”之第二章:推荐算法
- 变量的声明与定义
- 机器学习认识
- java中new和newInstance的区别
- spyder--no module named caffe解决办法
- 静态代理和动态代理
- 分享ssd固态硬盘分区装系统全过程!
- 我与python约个会:13.1 函数中的变量
- $.ajax()方法详解
- 待续
- makefile经典教程
- [py]py输入判断-字典
- next数组
- CentOS 安装和配置 Mantis / Linux下修改Mysql的用户(root)的密码