必赢亚洲手机app下载


苹果电脑[翻译] FMDB

苹果电脑本人是怎么挑搜索引擎的

苹果电脑C#设计模式(13)——代理模式(Proxy Pattern)

一、引言

当软件开发过程被,有些对象有上会由网络或另的绊脚石,以至于不可知或者未能够一直看到这些目标,如果一直访问对象为系统带来不必要之复杂性,这时候可以当客户端和对象对象期间多一交汇中间层,让代理对象代替目标对象,然后客户端只需要看代理对象,由代理对象去帮我们去告目标靶并赶回结果让客户端,这样的一个解决思路就是是今日要是介绍的代理模式。

仲、代理模式之事无巨细介绍

代办模式仍使用目的可以分为以下几种植:

  • 远程(Remote)代理:否一个厕不同之地点空间的对象提供一个局域代表对象。这个不同之地方空间可以是依照电脑受到,也可以于其它一样光电脑被。最登峰造极的例证就是——客户端调用Web服务要WCF服务。
  • 虚拟(Virtual)代理:据悉需要创造一个资源消耗比较充分的对象,使得对象仅以待时才见面被真正创造。
  • Copy-on-Write代理:虚构代理的平种,把复制(或者吃克隆)拖延到只有在客户端需要时,才真的采取行动。
  • 保护(Protect or
    Access)代理:
    控制一个对象的顾,可以叫不同的用户提供不同级别之采用权限。
  • 防火墙(Firewall)代理:保护对象不让黑心用户接近。
  • 智能引用(Smart
    Reference)代理:
    当一个目标为引用时,提供一些外加的操作,比如以针对这个目标调用的次数记录下来当。
  • Cache代理:为有一个对象操作的结果提供临时之仓储空间,以便多只客户端好这些结果。

以啊点装有品种的代办模式遭遇,虚拟代理、远程代理、智能引用代理和掩护代理较为广阔的代办模式。下面为咱们切实看看代理模式之现实性定义。

2.1 定义

代理模式——就是叫某一个靶提供一个代理,并由代理对象说了算对原来对象的援。在一部分气象下,一个客户无思要未可知一直引用一个对象,而代理对象足以于客户端与目标靶中由至中介的来意。例如电脑桌面的快捷方式就是一个代理对象,快捷方式是她所引述的次的一个代理

2.2 代理模式实现

关押罢代理模式之叙说下,下面坐一个在备受的例证来说明下代理模式,在现实生活中,如果发生同事出国或者朋友出国的情况下,我们经常会面延宕就员情人帮忙带一些电子产品或化妆品等物,这个情景被,出国的爱人即使是一个摄,他(她)是他(她)朋友之一个摄,由于他爱人不能够去国外购买东西,他倒是得以,所以朋友等还推他拉扯带一些事物的。下面就因这个景来贯彻产代理模式,具体代码如下:

// 客户端调用     class Client     {  

                        static void Main(string[] args)         {     

                             // 创建一个代理对象并发出请求         

                              Person proxy = new Friend();     

                             proxy.BuyProduct();         

                              Console.Read();         }  

                       }

                 // 抽象主题角色    

                  public abstract class Person     {         public
abstract void BuyProduct();     }

                //真实主题角色   

                   public class RealBuyPerson : Person     {        

                           public override void BuyProduct()         {
      

                                  
Console.WriteLine(“帮自己进一个IPhone和相同高苹果电脑”);         }  

                                                                       
}

                 // 代理角色    

                   public class Friend:Person     {        

                   // 引用真实主题实例        

                    RealBuyPerson
realSubject;

                  public override void BuyProduct()         {   

                           
Console.WriteLine(“通过代理类访问真实实体对象的计”);       

                           if (realSubject == null)             {
                realSubject = new RealBuyPerson();             }

                           this.PreBuyProduct();            

                        // 调用真实主题方法     

                            realSubject.BuyProduct();     

                        this.PostBuyProduct();   

                                                                     }

                         // 代理角色执行的一些操作      

                        public void PreBuyProduct()         {

            //
可能不知一个爱人吃就员情人带东西,首先就号出国的爱侣一旦对准各级一样各项情人如果带动的东西列一个清单等
   

                
Console.WriteLine(“我害怕做糊涂了,需要列一布置清单,张三:要带动相机,李四:要带动Iphone………..”);

                         }

        //
买完东西下,代理角色要对每位朋友需要的针对市来之物进行分拣      

                  public void PostBuyProduct()         {     

                      
Console.WriteLine(“终于打完了,现在只要指向事物分一下,相机是张三的;Iphone是李四的……….”);
   

                                                         }  

   }

以地方的代码中都发生相应的笺注,这里呢不多说了。

2.3 代理模式之类图结构

看了代理模式的实现后,下面就是盖点的事例来分析下代理模式的类图结构。具体的类图如下所示:

苹果电脑 1

以上面类图中,代理模式所涉及的角色来三独:

架空主题角色(Person):宣示了实在主题以及代理主题的公共接口,这样一来在用真实主题的另外地方都得以用代理主题。

代办主题角色(Friend):代办主题苹果电脑角色中含有指向实际主题的援,从而可以操作实际主题对象;代理主题角色当在待的当儿创建真实主题对象;代理角色一般以用客户端调用传递到真主题之前还是后,都使尽有任何的操作,而未是独地以调用传递给真实主题对象。例如这里的PreBuyProduct和PostBuyProduct方法就是是代理主题角色所行之其它操作。

真实主题角色(RealBuyPerson):概念了代办角色所表示的真是对象。

比:在其实开发过程被,我们以客户端添加服务引用的时段,在客户程序中会添加一些分外的接近,在客户端生成的类似扮演着代理主题角色,我们客户端也是直调用这些代理角色来访问远程服务提供的操作。这个是长途代理的一个榜首例证。

其三、代理模式之优缺点

圆剖析了代理模式下,让咱们看这个模式的得失:

优点:

  1. 代办模式能够将调用用于真正为调用的对象隔离,在自然水准上退了系的耦合度;
  2. 代理对象在客户端以及对象对象之间从至一个中介的作用,这样可以打至对目标对象的护。代理对象好于针对目标对象发出请求之前进行一个附加的操作,例如权限检查等。

缺点:

  1.  由于当客户端和实际主题中多了一个代理对象,所以会招请求的处理速度变慢
  2. 落实代理类也亟需格外的做事,从而增加了网的贯彻复杂度。

五、总结

顶此地,代理模式之牵线就寿终正寝了,代理模式供了针对性目标对象看的代办。并且到此地,结构型模式之牵线为结了,结构型模式包括:适配器模式、桥接模式、装饰者模式、结合模式、外观模式、享元模式跟代办模式,下面开始介绍行为型模式之首先个模式:模板方法模式。

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图