登陆注册
8183300000078

第78章 3 代理模式的角色

小A:“代理模式一般涉及到哪些角色?”

大B:“抽象角色:声明真实对象和代理对象的共同接口;代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装。真实角色:代理角色所代表的真实对象,是我们最终要引用的对象。”

使用类图来表示下三者间的关系:

abstract public class Subject

{

abstract public void request();

}

真实角色:实现了Subject的request()方法。

public class RealSubject extends Subject

{

public RealSubject()

{

}

public void request()

{

System。out。println(“From real subject。”);

}

}

代理角色:

public class ProxySubject extends Subject

{

private RealSubject realSubject;//以真实角色作为代理角色的属性

public ProxySubject()

{

}

public void request()//该方法封装了真实对象的request方法

{

preRequest();

if(realSubject……null)

{

realSubject=new RealSubject();

}

realSubject。request();//此处执行真实对象的request方法

postRequest();

}

private void preRequest()

{

//something you want to do before requesting

}

private void postRequest()

{

//something you want to do after requesting

}

}

客户端调用:

Subject sub=new ProxySubject();

Sub。request();

大B:“由以上代码可以看出,客户实际需要调用的是RealSubject类的request()方法,现在用ProxySubject来代理RealSubject类,同样达到目的,同时还封装了其他方法(preRequest(),postRequest()),可以处理一些其他问题。另外,如果要按照上述的方法使用代理模式,那么真实角色必须是事先已经存在的,并将其作为代理对象的内部属性。但是实际使用时,一个真实角色必须对应一个代理角色,如果大量使用会导致类的急剧膨胀。”

小A:“如果事先并不知道真实角色,该如何使用代理呢?”

大B:“这个问题可以通过Java的动态代理类来解决。”

同类推荐
  • 互联网创业前奏曲(第二部)——网站运营之人性、策略与实战

    互联网创业前奏曲(第二部)——网站运营之人性、策略与实战

    本书是《互联网创业前奏曲》系列的第二本书,是作者多年互联网实践经验和业界观察的总结,是国内罕有的关于互联网网站运营和用户心理结合的书籍,用通俗的语言阐述互联网运营背后的人性驱动。你想互联网创业吗?你是否在为找不到好的互联网运营策略和方法而发愁?你非常想了解互联网行业?你是否在为自己不了解互联网运营而苦恼?本书针对这些问题列举了很多互联网运营的案例,帮你制定运营策略,更好的修炼和提升运营功力。
  • 条形码技术与应用

    条形码技术与应用

    条形码是一种可供电子仪器自动识别的标准符号,是由一组黑白相间、粗细不同的条、空符号按一定编码规则排列组成的标记,用以表示一定的信息,确认某个物体或规定它的移动,能正确快速地为产、供、销各环节在采集、处理和交换信息时提供标识。
  • 如何处理电脑故障

    如何处理电脑故障

    本书以问答的方式介绍了电脑会出现的各种故障,内容包括了音箱声音失真,如何处理?如何做好电脑的日常维护等等问题。
  • 都是网络惹的祸

    都是网络惹的祸

    本书分网络游戏、网络聊天、网络隐私、网络网吧安全、网络文化、网络语言、网络犯罪、网络陷阱等栏目,从不同的视角探讨了在当今社会的网络现象。
  • 一本书读懂24种互联网思维

    一本书读懂24种互联网思维

    本书整合的改变世界的24种互联网思维,让我们对互联网新思维的认识变得立体、系统起来;同时深入浅出、通俗易懂地从技术和实践分析互联网新思维与传统思维相比较的优势,医治互联网焦虑症。未来属于既能深刻理解传统商业的本质,同时又具备互联网思维的人。
热门推荐
  • 徘徊的流恋最好的你

    徘徊的流恋最好的你

    男主是一个优秀且上进的校草。女主是一个干净且努力改变的学渣。
  • 添雪燃灯

    添雪燃灯

    灯火之年,望你相归。灯火烛下,思你回归。夜阑凤霞,披靡战甲。你似鸠酒,解我之渴,又燎我心上莽原火。
  • 希望永恒

    希望永恒

    如果可以,我希望永远也不要醒来。在这无比混沌,真实与虚幻交错的世界......这是身为超兵的雷翼踏上这片大陆的第二年。两年前雷翼三人通过纳格菲蒂尔空间魔法阵逃至于此,他与一位伙伴失散,还有一位伙伴生命垂危,每况日下,徘徊在死亡边缘。内心备受煎熬夹杂着愤怒,不甘,悲伤,惭愧,后悔与仇恨......终于,他在这块未知的大陆上踏出了第一步,他决定在这神秘的新世界中寻觅,寻觅希望。等待他的是......?
  • 有生之年遇见你

    有生之年遇见你

    每个女人生命中至少有两个男人!女人把自己一分为二:身体给了一个男人,爱情给了一个男人。爱情是一夜沉沦,夜夜笙歌。在黑夜里,女人们穿着性感睡衣准备随时代表月亮消灭一切男人。好男人有很多种,但未必种种都讨女人喜欢,好情人只有一种,对女人来说,这一种就足够。更何况每个女人生命中都有两个男人。就像书中的珊瑚把身体给了陈未未,把爱情给了许东阳。女人有时痴迷男人恰好是因为他们不够好。再浓烈的爱情总有一天会老的,老到大家都爱不动了,老到有人会死去,有人怀念。
  • 青尾涩年

    青尾涩年

    不小心,被青春的尾巴猛抽了一鞭。回过头,剩一地拾不起的青涩年华,喜是喜,悲是悲,唯爱恨不再分明。一眼万年,卓晓霓注定掉进尚子木潜心编织的蜜语和情爱陷阱中;相识整整12年,卓晓霓视穆涟为知己、姐妹,事事追随她、陪伴她,不料相貌乖巧、心思灵敏的穆涟一直感叹“既生瑜,何生亮”,暗暗与卓晓霓较劲,不管是学习,还是初恋上。可是,纵使不入尚子木法眼的穆涟精心设局,也被尚子木识破,并反被他利用,成功擒获卓晓霓……孩子死了?还是根本就没有?尚子木到死都没搞清楚过。4年后,站在尚子木的墓碑前,卓晓霓的万般恨意皆无:活着,好好地活着,才是最大的胜利。
  • 清风一剑仙

    清风一剑仙

    仿佛有一只巨大的手在操控着这一切,陈子笙踏出清风镇也只是一个开端,随之而来的一个个谜团,像是在说明着什么,究竟是天意还是人为……
  • 一路向仙行

    一路向仙行

    拥有逆天气运,难道就不需要付出吗?不,不可能!所以她成了种马文中男主的金手指一枚!重活一世,她要付出的,比想象中多得多……但!在这修真界中,她收获了更多!即使她幸运地摆了剧情的摆布,却不幸地为了世界和平发展要继续维护种马文的剧情发展……不管怎样,谁也不能阻止她一路向仙行!
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 天落纪

    天落纪

    大陆之北有不可知之地,为生命禁区,一位少年在那里长大,入世来到人间之国——青丘国,开始了自己的逆天之路……
  • 痴人福

    痴人福

    讲述丑陋的田义连娶三个美丽娇妻,因善行得享福寿的故事。