设计模式 — 动态代理模式
动态代理动态代理0 简介1 类图2 示例3 源码分析0 简介代理模式有两种形式:静态代理、动态代理。1 类图图片来源网络2 示例使
动态代理
0. 简介
代理模式有两种形式:静态代理、动态代理。
1. 类图
图片来源网络
2. 示例
使用JDK中的Proxy类实现动态代理类的创建;
- 1
一般的用法:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
输出结果:
method=public abstract void com.example.demo.IPlay.play(java.lang.String) , args=篮球
由上面可以看出,虽然动态代理生成了接口的代理对象,但是代理类中没有实际的处理逻辑,而接口的方法也是没有实际处理逻辑的,所以要添加处理逻辑,只能在PlayProxy.invoke()中添加,这就增加了代码的耦合性。
注意: 跟静态代理相比,动态代理要少写一个代理类,因为该代理类可以通过Proxy.newProxyInstance()
方法获得。
这里涉及到三个类:
1. IPlay
2. StudentPlay
3. PlayProxy
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
输出结果:
method=public abstract void com.example.demo.IPlay.play(java.lang.String) , args=篮球
StudentPlay.play(),name=篮球
3. 源码分析
源码基于JDK1.8
责任编辑:售电衡衡
免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
我要收藏
个赞
-
权威发布 | 新能源汽车产业顶层设计落地:鼓励“光储充放”,有序推进氢燃料供给体系建设
2020-11-03新能源,汽车,产业,设计 -
中国自主研制的“人造太阳”重力支撑设备正式启运
2020-09-14核聚变,ITER,核电 -
探索 | 既耗能又可供能的数据中心 打造融合型综合能源系统
2020-06-16综合能源服务,新能源消纳,能源互联网
-
新基建助推 数据中心建设将迎爆发期
2020-06-16数据中心,能源互联网,电力新基建 -
泛在电力物联网建设下看电网企业数据变现之路
2019-11-12泛在电力物联网 -
泛在电力物联网建设典型实践案例
2019-10-15泛在电力物联网案例
-
权威发布 | 新能源汽车产业顶层设计落地:鼓励“光储充放”,有序推进氢燃料供给体系建设
2020-11-03新能源,汽车,产业,设计 -
中国自主研制的“人造太阳”重力支撑设备正式启运
2020-09-14核聚变,ITER,核电 -
能源革命和电改政策红利将长期助力储能行业发展
-
探索 | 既耗能又可供能的数据中心 打造融合型综合能源系统
2020-06-16综合能源服务,新能源消纳,能源互联网 -
5G新基建助力智能电网发展
2020-06-125G,智能电网,配电网 -
从智能电网到智能城市