博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4.代理模式
阅读量:5447 次
发布时间:2019-06-15

本文共 891 字,大约阅读时间需要 2 分钟。

代理模式,为其他对象提供一种代理以控制对这个对象的访问。在访问对象时引入一定程度的间接性,因为间接性,可以附加多种用途。

//抽象类Subject类,定义了RealSubject和Proxy的公用接口,这样就在任何使用RealSubject的地方都可以使用Proxy    abstract class Subject    {        public abstract void Request();    }    //RealSubject类,定义Proxy所代表的真实实体    class RealSuject : Subject    {        public override void Request()        {            Console.WriteLine("真是的请求");        }    }    //Proxy类,保存一个引用使用得代理可以访问实体。并提供一个与Subject的接口相同的接口,这样代理就可以用来代替实体    class Proxy : Subject    {        RealSuject rs;        public override void Request()        {            if (rs==null)            {                rs = new RealSuject();            }            rs.Request();        }    }

适用:

1.远程代理。也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。

2.虚拟代理。根据需要创建开销很大的对象。通过它来存放实例化需要很长时间和真实对象。

3.安全代理。用来控制真实对象的访问时的权限。

4.智能指引。是指当调用真实对象时,代理处理另外一些事。

 

转载于:https://www.cnblogs.com/xyangs/archive/2012/07/09/2582543.html

你可能感兴趣的文章
4.2. PHP crypt()
查看>>
开发进度——4
查看>>
Netty 4.1.35.Final 发布,经典开源 Java 网络服务框架
查看>>
Eclipse中修改代码格式
查看>>
关于 error: LINK1123: failure during conversion to COFF: file invalid or corrupt 错误的解决方案...
查看>>
Linux 进程中 Stop, Park, Freeze【转】
查看>>
PHP盛宴——经常使用函数集锦
查看>>
安装gulp及相关插件
查看>>
如何在Linux用chmod来修改所有子目录中的文件属性?
查看>>
Hyper-V 2016 系列教程30 机房温度远程监控方案
查看>>
笔记:认识.NET平台
查看>>
cocos2d中CCAnimation的使用(cocos2d 1.0以上版本)
查看>>
gitlab 完整部署实例
查看>>
影响企业信息化成败的几点因素
查看>>
SCCM 2016 配置管理系列(Part8)
查看>>
struts中的xwork源码下载地址
查看>>
我的友情链接
查看>>
PHP 程序员的技术成长规划
查看>>
python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列
查看>>
js replace,正则截取字符串内容
查看>>