设计模式之代理模式

2018-12-24  本文已影响0人  官先生Y

设计模式之代理模式

10分钟看懂动态代理设计模式(升级篇)-对这篇动态代理模式的思路整理

仿JDK实现动态代理逻辑

通过一步步实现一个简易的仿JDK实现动态代理逻辑

第1步:通过动态代理方式模拟实现静态代理效果
  1. 通过JavaPoet生成静态代理类TimeProxy源代码
  2. 通过JDK编译TimeProxy源代码
  3. 通过类加载器把TimeProxy字节码文件转换为内存中TimeProxy字节码对象
  4. 通过反射机制把创建代理对象

通过第1步实现了:

产生的问题:

第2步:接口类型作为参数传入,而不是写死

通过第2步实现了:

产生的问题:

第3步:新增InvocationHandler接口,用于处理自定义逻辑

开发者需要对代理类进行自定义处理时,只要实现该接口,并在invoke方法中进行相应的处理即可

第4步:修改生成代理对象代码

为此,我们需要在原Proxy.newProxyInstance()方法中做如下改动:

总结

上一篇下一篇

猜你喜欢

热点阅读