设计模式课件-10 代理模式.ppt_第1页
设计模式课件-10 代理模式.ppt_第2页
设计模式课件-10 代理模式.ppt_第3页
设计模式课件-10 代理模式.ppt_第4页
设计模式课件-10 代理模式.ppt_第5页
免费预览已结束,剩余21页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第10章,代理模式,在前一节中回顾过,详细解释了课程内容环境和问题代理模式。代理模式实现话题扩展。日常生活中的代理人签署服装代理人的代理服务器。代理模式促使客户不想或不能直接引用另一个对象。此时,间接引用可以通过一个称为“代理”的第三方来实现。代理对象可以充当客户端和目标对象之间的中介。您可以删除客户看不到的内容和服务,或者通过代理对象添加客户需要的额外服务。Agent模式动机、agent模式动机、课程内容环境和问题agent模式详细说明agent模式实现扩展主题,agent模式定义为对象提供一个agent,对原始对象的引用由agent对象控制。代理模式代理模式(Proxy Pattern P

2、attern Pattern),代理模式结构的抽象主题代理主题真实主题,代理模式结构代理模式示意结构图相对简单,一般可以简化如下图所示:代理模式调用顺序图,课程内容环境和问题代理模式详细说明代理模式实现扩展主题,代理模式案例图片的延迟加载我们打算构建一个应用程序来显示图片。由于图片像素非常大,加载可能需要一些时间,所以在等待加载图像时,应该显示一些提示,如“请等待图片加载”,一旦加载了图片,就会显示出来。一个葡萄酒代理商,一个葡萄酒制造商,并不直接向零售客户销售葡萄酒,而是通过代理商完成他的销售业务。顾客不必到处寻找喝红酒的工厂。他只需要找到制造商的当地代理商。具体的葡萄酒厂在哪里,顾客不需要

3、关心,代理人会帮他处理。课程内容环境和问题代理模式解释代理模式拓展了话题。代理模式和适配器模式彼此相似,提供对对象的间接访问。它们都从一个接口向对象转发请求,而不是自己。不同的适配器模式面对不同的接口。代理模式是远程代理的变体:它为位于不同地址空间的对象提供本地代表对象,该地址空间可以在同一主机或另一主机中。远程代理也称为大使虚拟代理:如果您需要创建一个消耗大量资源的对象,您应该首先创建一个消耗少量资源的对象,并且只有在需要时才会真正创建真正的对象。写时拷贝代理:这是一种虚拟代理,它会延迟拷贝(克隆)操作,直到客户端真正需要它。一般来说,对象的深度克隆是一项成本高昂的操作,写时拷贝代理会延迟此

4、操作,并且只有在使用对象时才会进行克隆。保护或访问代理:它控制对对象的访问,并可以为不同的用户提供不同级别的使用权。缓存代理:为某个目标操作的结果提供临时存储空间,以便多个客户端可以共享这些结果。防火墙代理:保护目标免受恶意用户的攻击。同步代理:允许几个用户同时使用一个对象而不会发生冲突。智能引用代理:当一个对象被引用时,它提供一些额外的操作,比如记录对象被调用的次数。几种常见代理模式案例订单访问控制代理现在有了订单系统。要求是一旦创建了订单,只有订单的创建者可以修改订单中的数据,而其他人不能。在本例中,我们在代理模式下使用保护代理,用于控制对对象的访问,并可以为不同的用户提供不同级别的访问权

5、限。几种常用的代理模式,如论坛访问控制代理,总结为在代理模式下,需要为对象提供代理,代理对象控制对原始对象的引用。代理模式的英文名称是代理或代理,它是一种对象结构模式。代理模式包括三个角色:抽象主题角色声明真实主题和代理主题之间的公共接口;代理主题角色包含对真实主题的引用,因此可以随时操作真实主题对象;真实主体角色定义了代理角色所代表的真实对象,并在真实主体角色中实现真实的业务操作。客户端可以通过代理主体角色间接调用真实主体角色中定义的方法。汇总代理模式的优点是可以协调主叫和被叫,在一定程度上降低系统的耦合度;缺点是,因为代理对象是在客户端和真实主题之间添加的,所以某些类型的代理模式可能会降低请求的处理速度,并且代理模式的实现需要额外的工作,并且有些代理模式非常复杂。远程代理为位于不同地址空间的对象提供本地代表对象,这使客户端能够访问远程机器上的对象。远程机器可能具有更好的计算性能和处理速度,并且可以快速响应和处理客户端请求。如果你需要创建一个消耗大量资源的对象,你应该首先创建一个消耗很少资源的对象,真正的对象只有在需要的时候才会真正创建。这个小

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论