 
         
         
         
        
            全文预览已结束            
        
         下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
            代理模式:任务:代理(Proxy)模式支持一个对象对另一个对象的创建和访问进行控制。代理通常是个微型的(公共)对象,代表着一个复杂得多的(私有)对象,一旦所需的条件满足,对象就被激活。代理有好多种,最常用的包括:1.虚拟代理:将对象的创建工作交给另外一个对象(延迟复杂环境的创建)2.认证代理:检查一个请求是否拥有正确的访问许可(用户登录)3.远程代理:对请求进行编码并通过网络发送(通过网络发送请求)4.智能代理:在继续发送请求之前添加或更改请求(在好友的book上执行操作)示例using System; class SubjectAccessor public interface ISubject String Request(); private class Subject public String Request() return Subject Request + Choose left doorn; public class Proxy : ISubject Subject subject; public String Request() /虚拟代理仅在方法被第一次调用时创建对象 if (subject = null) Console.WriteLine(Subject inactive); subject = new Subject(); Console.WriteLine(Subject active); return Proxy:Call to + subject.Request(); public class ProtectionProxy : ISubject /认证代理首先要求一个密码 Subject subject; String password = Abracadabra; public String Authenticate(String supplied) if (supplied != password) return Protection Proxy: No access; else subject = new Subject(); return Protection Proxy : Authenticated; public String Request() if (subject = null) return Protection Proxy : Authenticate first; else return Protection Proxy: Call to + subject.Request(); class Client : SubjectAccessor static void Main() Console.WriteLine(Proxy Patternn); ISubject subject1 = new Proxy(); Console.WriteLine(subject1.Request(); Console.WriteLine(subject1.Request(); ProtectionProxy subject = new ProtectionProxy(); Console.WriteLine(subject.Request(); Console.WriteLine(subject as ProtectionProxy).Authenticate(Select); Console.WriteLine(subject as ProtectionProxy).Authenticate(Abracadabra); Console.WriteLine(subject.Request(); 结果:虚拟代理和保护代理的目的都是为了给Subject类提供前端。由于这个原因,Subject被声明为private。它的Request方法时公共的,但它仅对Subject的类可见,即SubjectAccessor中的那些类。用途:代理是带有敏感数据或耗时操作的类的前端。它们经常被用作在绘图系统中,代理在屏幕上占据一块位置,然后激活实际的画笔工具来取得并描绘图像。按同样的方式,这种机制也可用于初始化视频流的缓冲区。跟装饰器模式相同,代理模式也是将请求向下传递给另一个对象。不同之处在于:及时Subject在这层关系中并不是主动的参与者,代理关系也是在设计阶段就确定好的,是事先知道的。而装饰器却可以动态地添加。代理(Proxy)模式的使用情景:你拥有这种情况:1. 创建的代价比较高2. 需要访问控制3        
    温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海南医学院护理简单题库及答案解析
- 2025年桂林中考真题试卷及答案
- 矿井救援理论题库及答案
- 2025年汽车工程专业资格(汽车工程师)备考题库及答案解析
- 2013年4月13日公务员联考《申论》真题及参考答案
- 2025年钢琴教师备考题库及答案解析
- 工作证从业考试及答案解析
- 燃气用户安装检修工安全素养竞赛考核试卷含答案
- 稀土烟气回收工岗前发展趋势考核试卷含答案
- 铜管乐器制作工操作评估模拟考核试卷含答案
- 2025消防宣传月启动宣讲课件
- 辽宁省名校联盟2025-2026年高三10月联考物理试卷+答案
- 高级物流师考试真题与答案
- 社工机构介绍
- WS/T 512-2016医疗机构环境表面清洁与消毒管理规范
- 2021年《北京市建设工程计价依据-预算消耗量标准》应用指南 房屋建筑与装饰工程 202202版
- GB/T 2677.8-1994造纸原料酸不溶木素含量的测定
- 手术讲解模板:混合痔切除术课件
- 设备保养维修培训课件
- 重大危险源安全考试试题 (附答案)
- 科学本质学科教学知识(NOS PCK)的内涵
 
            
评论
0/150
提交评论