代理模式的设计

来源:互联网 发布:方正数据库免费入口 编辑:程序博客网 时间:2024/04/29 23:00

      所谓代理,就是对真实对象的一个代理;代表着真实的对象行驶权利。我们先看看结构图:

具体的代码如下:

//Subject 类abstract class Subject{  public abstract void Request();}//RealSubject 类,Proxy代理真实的实体对象public class RealSubject:Subject{public override void Request(){Console.WriteLine("真实的请求");}}//代理类class Proxy:Subject{RealSubject realsubject;public override void Request(){if(realsubject==null){realsubject=new RealSubject();}        realsubject.Request();}}//客户端static void Main(string[] args){//此处隐藏了真实对象,而前台只能看到代理对象的使用情况Proxy p=new Proxy();    p.Request();}
   我们在实际的项目中也用到也很多的代码模式:1.远程代理;我们经常用的Webservice服务,实际上会创建一个远程调用的文件夹,其本身就是代理调用。2.虚拟代理;我们经常用来存储实例化时间长的真实对象,例如:浏览器浏览网页的时候,图片后续才出现;3.安全代理;时间上就是控制对象的访问权限;4.智能指引;

0 0
原创粉丝点击