首页 > 其他 > 详细

代理模式

时间:2020-07-01 00:58:26      阅读:65      评论:0      收藏:0      [点我收藏+]

代理模式:为其他对象提供一种代理以控制对这个对象的访问。

好处:可以控制被代理类的访问和行为。在不修改被代理类的情况下对被代理类的访问做出修改。

 

代理分为:

静态代理:编译期已经确定了被代理的对象和代理类。

1)代理类和被代理类实现同样的接口(保证行为一致)

2)代理类持有一个被代理类对象(保证代理类能够调用到被代理类)

动态代理:在运行期间才确定被代理的对象,并动态生成一个代理类。

 

Java中动态代理有两种:

jdk动态代理:通过反射来创建代理类。被代理类和代理类实现同样的接口。(必须有共同的接口)

1)实现共同的接口,需要定义一个共同的接口。

2)需要定义代理类的回调类,该类需要实现InvokecationHandler接口,在invoke方法中编写代理类的逻辑

3)需要通过反射的API,生成代理类。

Cglib动态代理:通过编辑字节码文件来生成一个代理类。生成的代理类继承自被代理类。

1)导入cglib依赖

2)实现MethodInterceptor接口

 

代理类和被代理类的行为是一致的。

如何保证行为一致? 1)实现同样的接口 2)继承关系

 

代理模式

原文:https://www.cnblogs.com/xie-qi/p/13216693.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!