国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

c# 代理模式

2020-01-24 03:40:14
字體:
來源:轉載
供稿:網友

代理模式的應用:

遠程代理,為一個對象在不同的地址空間提供局部代表,可以隱藏一個對象存在于不同地質空間的事實。
虛擬代理,根據需要創建開銷很大的對象,通過代理來存放實例化需要很長時間的真實對象。
安全代理,用來控制真實對象的訪問權限。
智能代理,當調用代理時,可以代理處理一些額外的功能。
案例場景:
向一位自己心儀的女孩表達愛意,一般我們有兩種選擇:親自出馬(有自信的人)和 使用‘媒婆'(比較害羞)。
其中使用‘媒婆'就是代理行為,我們實現如下:

 調用代理模式的主函數:

class Program  {    static void Main(string[] args)    {      SchoolGirl jiaojiao = new SchoolGirl();      jiaojiao.Name = "李嬌嬌";      //親自出馬      IGiveGift self = new Pursuit(jiaojiao);      self.GiveChocolate();//送巧克力      self.GiveDolls();//送洋娃娃      self.GiveFlowers();//送鮮花      //使用‘媒婆'      IGiveGift daili = new Proxy(jiaojiao);      daili.GiveChocolate();//送巧克力      daili.GiveDolls();//送洋娃娃      daili.GiveFlowers();//送鮮花      Console.ReadKey();    }  }

SchoolGirl類是代表女孩對象,實現如下:

public class SchoolGirl   {    private string name;    public string Name    {      get;      set;    }  }

Pursuit類是代表一個真實的事物(追求女孩的追求者),實現如下:

public class Pursuit : IGiveGift  {    SchoolGirl mm;    public Pursuit(SchoolGirl mm)    {      this.mm = mm;    }    public void GiveDolls()    {      Console.WriteLine(mm.Name+"送你洋娃娃");    }    public void GiveFlowers()    {      Console.WriteLine(mm.Name + "送你鮮花");    }    public void GiveChocolate()    {      Console.WriteLine(mm.Name + "送你巧克力");    }  }

Proxy類是Pursuit類的代表,實現如下:

public class Proxy : IGiveGift  {    Pursuit gg;    public Proxy(SchoolGirl mm)    {      this.gg = new Pursuit(mm);    }    public void GiveDolls()    {      gg.GiveDolls();    }    public void GiveFlowers()    {      gg.GiveFlowers();    }    public void GiveChocolate()    {      gg.GiveChocolate();    }  }

Pursuit類和Proxy類都繼承IGiveGift接口,實現如下:

  interface IGiveGift  {    void GiveDolls();    void GiveFlowers();    void GiveChocolate();  }

我們看一張代理模式的結構圖:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 十堰市| 平阳县| 铁岭县| 大洼县| 桐柏县| 栾川县| 商城县| 南漳县| 辉县市| 乌鲁木齐县| 黎平县| 云林县| 南通市| 鹤峰县| 修武县| 左权县| 华亭县| 盐边县| 岑巩县| 富阳市| 通辽市| 曲阳县| 桐梓县| 武陟县| 道孚县| 朔州市| 庆元县| 沅陵县| 区。| 盐城市| 博爱县| 丹东市| 通河县| 龙江县| 大荔县| 汉寿县| 肇庆市| 长沙县| 甘洛县| 泽普县| 邢台县|