58、代理模式

2023-05-26 18:47:0704:32 6514
所属专辑:JAVA面试题
声音简介

一、Java静态代理:
  代理对象和 目标对象实现了相同的接口,目标对象作为代理对象的一个属性,具体接口实现中,代理对象可以在 调用目标对象相应方法 前后加上其他业务处理逻辑。
  我们写一个代理类,在代理类里面有 一个被代理的类,他是代理对象的私有变量,调用具体代理对象的方法的时候,
     内部的实现是真实的类的方法的实现。可以再写上pre  post之类的执行前后的其他逻辑
缺点:一个代理类只能代理一个业务类。如果业务类增加方法时,相应的代理类也要增加方法。
Java动态代理:
    Dynamic  Proxy:Proxy类即为动态代理类,他的一个方法newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler h):返回代理类的一个实例,
  返回后的 代理类可以当作 真实类使用。
 
    所谓Dynamic Proxy,它是在运行时生成的class,在生成它时你必须提供一组interface给它,然后该class就宣称它实现了这些interface。
这个Dynamic Proxy其实就是一个Proxy,它不会替你作实质性的工作,
在生成它的实例时你必须提供一个handler,由它接管实际的工作。
       写一个类 实现InvocationHandler接口,重写Invoke方法,在Invoke方法里面 可以进行 增强处理的逻辑的编写,这个公共代理类 在运行的时候才能明确自己要代理的对象,
同时 可以实现 真实类的方法,然后在 实现类方法的时候 可以进行增强处理。
实际上:代理对象的方法 = 增强处理 + 被代理对象的方法

用户评论

表情0/300

叫我白先生好了

有点难这个晕菜

摔了不痛 回复 @叫我白先生好了

再看看网上的博客,自己最好写个,就清晰了

音频列表
猜你喜欢
Java设计模式-代理模式教程

Java的设计模式中有一项设计模式叫做代理模式,所谓代理模式,就是通过代理方来操作目标对象,而不是自己直接调用。代理又分为静态代理和动态代理,静态代理就是针对每...

by:动力节点教育

天庭代理

【内容简介】小青年刘芒,因祖先机缘回报,被老天爷选中要做天庭的代理人,为天庭纠正不良风气,锐意改革,与时俱进!看他运用智慧,发展网络、物流、科技、银行等天庭多个...

by:月光雪山

白昼的代理者

第一集现在我这块播这集有点潦草,哈哈哈哈哈

by:参赛者一一星辰海月

诡怪代理人

一个漫画家意外接到一个继承遗产的电话,摇身一变成了富二代,他搬到了祖传的豪宅里,然而,夜里怪事不断发生……

by:紫苏2

狂想代理人

◎21个想到哪儿写到哪儿的狂想故事,每一个都有意想不到的结局。武侠、科幻、恐怖、爱情、悬疑、惊悚、历史、浪人、牛仔、赏金猎人、未来世界、遥远太空……任意想象,无...

by:五花肉爱阅读

地府代理人

地府代理人,三界六道,我最强!陆明微微一笑,从怀里掏出一封信。你有一封地府来信请查收!

by:炮二平五250

时光代理人

时光代理人视频

by:参赛者凯莉小姐

三界代理商

【内容简介】在人间有一个代理商,他的店里神行太保在送货,李世民在算账,二郎神在看门,店员来自三界五行。天庭热销的辣条,地府卖断货的激光棒,妖界趋之若鹜的杜蕾斯,...

by:有请主角儿