登陆注册
8183300000085

第85章 10 秘书-局长

大B:“再举个通俗的例子,你想找某局长帮你做一件事情,但局长官位显赫,你又不能轻易见着,你就想到了找他的秘书,通过她传话给局长,这样你就等于请他的秘书帮你办成了那件事。秘书为什么就可以找到局长呢,因为秘书和局长之间有一定的关系。这里产生了四个对象:你、秘书、局长、秘书-局长(关系)。JAVA中同样有代理关系,我们叫做代理模式。”

小A:“代理模式有什么作用呢?”

大B:“他能为其他对象(局长)提供一种代理(秘书)以控制对这个对象(局长)的访问。代理对象可以在客户端(你)和目标对象(局长)之间起到中介的作用。”

小A:“代理模式都有些什么角色?”

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

下面用四个代码来是这个原理:

Client。java(你)、ProxySubject。java(秘书)、RealSubject。java(局长)、Subject。java(关系)

(1)Subject。java(关系)

package com。pjwqh。proxyTest;

//抽象角色

abstract public class Subject

{

abstract public void request();

}

(2)RealSubject。java(局长)

package com。pjwqh。proxyTest;

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

public class RealSubject extends Subject

{

public RealSubject()

{

}

public void request()

{

System。out。println(“我是局长,哈哈”);

}

}

(3)ProxySubject。java(秘书)

package com。pjwqh。proxyTest;

//代理角色

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

}

}

4)Client。java(你)

package com。pjwqh。proxyTest;

//客户端调用

public class Client

{

public static void main(String[]args)

{

//你直接找(秘书)

Subject sub=new ProxySubject();

sub。request();

}

}

运行输出了“我是局长,哈哈”

大B:“这说明我们通过代理对象(秘书)成功调用了被代理对象(局长)的方法。由代码可以看出,客户实际需要调用的是RealSubject类的request()方法,现在用ProxySubject来代理RealSubject类,同样达到目的,同时还封装了其他方法(preRequest(),postRequest()),可以处理一些其他问题。”

同类推荐
  • 中文版AutoCAD2005建筑绘图精讲精学

    中文版AutoCAD2005建筑绘图精讲精学

    本书从中文版AutoCAD2005建筑绘图的基础进行介绍,讲解了建筑绘图的环境设置、二维建筑图形的绘制、二维建筑及装饰图形的编辑、建筑绘图中的文字标注和图形查询、建筑装潢平面图中的尺寸标注、建筑绘图中图块的应用、建筑平面图的绘制、建筑立面图的绘制、建筑剖面图的绘制、建筑绘图中的三维造型、三维建筑模型绘制及建筑图纸的布局与打印输出等内容。
  • 如何操作电脑

    如何操作电脑

    信息社会是科技、文化发展,知识爆炸的结果。不懂得计算机,将处于半文盲的境地。因此,对于计算机,不仅要作为工具使用,已经是一项文化普及的要求。我们不仅要会使用计算机做一些诸如文字处理等具体工作,更要培养一种计算机意识。
  • 一本书读懂24种互联网思维

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

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

    中国3D打印的未来

    自2012年以来,有关3D打印的报道屡见报端,这一新型制造技术引起了全世界的广泛关注。《中国3D打印的未来》作者、中国3D打印技术产业联盟秘书长罗军认为,中国从20世纪90年代初开始涉足3D打印技术,并取得了巨大进展,但与国外同行相比仍存在一定差距。特别是中国3D打印企业普遍存在“小而散”、各自为政的现象,如何发挥整合优势、抱团发展是目前亟需解决的问题。如果能够加强同行合作,抱团发展,形成合力,相信3D打印会成为唯一一项中国有可能赶超世界先进水平的技术。
  • 图说电子计算机

    图说电子计算机

    今天人们谈到计算机常常会把它和网络联系起来。20世纪90年代兴起的因特网其影响之广、普及之快也是大家始料未及的,也从没有一种技术能像网络一样日新月异,并迅速地改变着我们的学习和生活方式。因特网大大缩小了时空界限,为我们提供了快捷方便的交流途径。在未来10年内,计算机又将会有怎样飞速的发展呢?在互联网上进行医疗诊断、远程教学、电子商务、视频会议等活动已经实现,未来的互联网的传输速率将会提高100倍,大家可以随时随地连接到因特网上,更方便地进行交流、沟通和开展商务活动。
热门推荐
  • 权力巅峰

    权力巅峰

      军人出身的柳擎宇,毅然转业进入官场,成为乡镇镇长,然而上任当天却被完全架空,甚至被晾在办公室无人理睬!且看脾气火爆,办事雷厉风行的他,如何凭借着机智头脑和层出不穷的手段,翻手间覆灭种种阴谋,步步高升!几十次微妙的官位升迁,数千场激烈的明争暗斗争,历经波折,踏上权力的巅峰!
  • 爱妻入骨:独占第一冷少

    爱妻入骨:独占第一冷少

    当冷少遇上首席特种兵,这是一场势均力敌的角力赛,是一场你追我跑的追逐赛,她躲得辛苦,他却追得开心。她咆哮:“你TM是不是没有见过女人啊!”他淡定:“女人无数,心却只为你而跳动,”她是重生而来走向荣誉颠峰的首席特种兵,在黑道眼里她是来自黑暗的天使,眼角邪肆,笑容纯粹。在白道眼里,她颜色姝丽,聪明绝顶凌驾于芸芸众生。在战友们眼里她如天域雪山,神圣不可侵犯。在她自己眼里:擦,这说的是她么?他是纵横政界无人不知,无人不晓的冷少,权倾天下让各色女人趋之若狂。他洁身自好,哪怕女人脱光站在眼前俊颜冷峻……一脚踹飞。在他自己眼里:追老婆好辛苦,老婆,求宠啊!
  • 腹黑王爷暖宠妃

    腹黑王爷暖宠妃

    洛儿从小被丞相当成男孩子养大,身边美男环绕,前途本是光明一片,奈何半路杀出来一个程咬金,打破了她本来美好的生活,让她从状元梦中醒来,变成了一个小小师爷,就在怨声载道,找不到地方说理的时候,一起杀人案忽然找上门。神秘的美人师父,毒舌傲娇的县令,风流倜傥的小舅舅,善变却淡漠的皇帝陛下,究竟情归何处,而她又到底是谁,竟惹得如此多的英雄竞相折腰。
  • 天行

    天行

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

    唯愿与你终老

    他养我四年,供我吃穿,供我读书。我深知他总有一天会腻了我,因此在那天悄然而至的时候,我并没显得太狼狈。我按照他的吩咐抽身离开有他的生活,绝不给他添半点的不痛快。可他却偏偏再次找上我,笑着问我:唐欣,你怎么比我还薄情寡义呢?我恨我自己没骨气,被他呼之即来,挥之即去,他一声召唤便又重新回到他的身边。
  • 淝水之战2.前秦帝国

    淝水之战2.前秦帝国

    帝国的诞生就是悲剧的诞生,帝王的诞生就是悲剧的终结。帝王的使命就是终结自己开创的帝国。宁为一人之国,不为万人之王。本卷书详述“人间第一帝王”苻坚开创前秦帝国的悲剧,从命理上解释了前秦一方在淝水之战中的败因:因为越邪恶越强大,所以越强大越失败。
  • 末世新元年

    末世新元年

    世界又一次毁灭于天灾,人类再次经历洗牌,在这末世新元年,人类再次面临着各种挑战,最终人类将灭亡于地心恶魔,还是天外异族……还是人类自己?每个时代人类都不缺乏英雄,人族灭亡之际,拯救人族的英雄即将横空出世,他并不是一个人,他并不寂寞!这里有新科技,有古武学,这里有飞剑,这里有冒险,这里是新世界!
  • 天行

    天行

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

    角色取名好难

    ew,第二世界,深度游戏沉迷者的天堂。为期一年的另一个世界的故事。
  • 我问关公

    我问关公

    本文的主要内容为:为什么说关公“生在蒲州,长在解州”?、关公是怎样熟读《春秋》的?、关公是怎样到绛邑小华山求师学艺的?、南山上的三道狭谷是怎样形成的?等。