欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c# 代理模式

 更新時(shí)間:2012年10月29日 22:46:09   投稿:mdxy-dxy  
代理模式:為其他對(duì)象提供一種代理以控制其他對(duì)象的訪問(wèn)

代理模式的應(yīng)用:

遠(yuǎn)程代理,為一個(gè)對(duì)象在不同的地址空間提供局部代表,可以隱藏一個(gè)對(duì)象存在于不同地質(zhì)空間的事實(shí)。
虛擬代理,根據(jù)需要?jiǎng)?chuàng)建開(kāi)銷很大的對(duì)象,通過(guò)代理來(lái)存放實(shí)例化需要很長(zhǎng)時(shí)間的真實(shí)對(duì)象。
安全代理,用來(lái)控制真實(shí)對(duì)象的訪問(wèn)權(quán)限。
智能代理,當(dāng)調(diào)用代理時(shí),可以代理處理一些額外的功能。
案例場(chǎng)景:
向一位自己心儀的女孩表達(dá)愛(ài)意,一般我們有兩種選擇:親自出馬(有自信的人)和 使用‘媒婆'(比較害羞)。
其中使用‘媒婆'就是代理行為,我們實(shí)現(xiàn)如下:

 調(diào)用代理模式的主函數(shù):

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類是代表女孩對(duì)象,實(shí)現(xiàn)如下:

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

Pursuit類是代表一個(gè)真實(shí)的事物(追求女孩的追求者),實(shí)現(xiàn)如下:

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類的代表,實(shí)現(xiàn)如下:

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接口,實(shí)現(xiàn)如下:

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

我們看一張代理模式的結(jié)構(gòu)圖:

相關(guān)文章

  • C# 中的 IReadOnlyDictionary 和 IReadOnlyList實(shí)例詳解

    C# 中的 IReadOnlyDictionary 和 IReadOnlyLis

    C# 中的IReadOnlyDictionary和IReadOnlyList是接口,用于表示只讀的字典和只讀的列表,這些接口提供了對(duì)集合的只讀訪問(wèn)權(quán)限,即不允許對(duì)集合進(jìn)行修改操作,這篇文章主要介紹了C# 中的 IReadOnlyDictionary 和 IReadOnlyList實(shí)例詳解,需要的朋友可以參考下
    2024-03-03
  • C#圖書管理系統(tǒng) 附源碼下載

    C#圖書管理系統(tǒng) 附源碼下載

    這篇文章主要為大家詳細(xì)介紹了C#圖書管理系統(tǒng),文章中附源碼下載,示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • C#利用Refit實(shí)現(xiàn)JWT自動(dòng)續(xù)期詳解

    C#利用Refit實(shí)現(xiàn)JWT自動(dòng)續(xù)期詳解

    Refit?是一個(gè)受到Square的Retrofit庫(kù)(Java)啟發(fā)的自動(dòng)類型安全REST庫(kù),這篇文章主要為大家介紹了C#如何利用Refit實(shí)現(xiàn)JWT自動(dòng)續(xù)期,感興趣的可以了解下
    2023-08-08
  • C#數(shù)字圖象處理之膚色檢測(cè)的方法

    C#數(shù)字圖象處理之膚色檢測(cè)的方法

    這篇文章主要介紹了C#數(shù)字圖象處理之膚色檢測(cè)的方法,可實(shí)現(xiàn)針對(duì)膚色的檢測(cè)功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • c# wpf如何使用Blend工具繪制Control樣式

    c# wpf如何使用Blend工具繪制Control樣式

    這篇文章主要介紹了c# wpf如何使用Blend工具繪制Control樣式,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C#使用DateAndTime.DateDiff實(shí)現(xiàn)計(jì)算年齡

    C#使用DateAndTime.DateDiff實(shí)現(xiàn)計(jì)算年齡

    這篇文章主要為大家詳細(xì)介紹了C#如何使用DateAndTime.DateDiff實(shí)現(xiàn)根據(jù)生日計(jì)算年齡,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2024-01-01
  • Unity中的Tilemap流程分析

    Unity中的Tilemap流程分析

    這篇文章給大家介紹Unity中的Tilemap流程分析,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-07-07
  • c# 獲得本地ip地址的三種方法

    c# 獲得本地ip地址的三種方法

    這篇文章主要介紹了c# 獲得本地ip地址的三種方法,幫助大家更好的理解和實(shí)用c#,感興趣的朋友可以了解下
    2020-12-12
  • 理解C#中的枚舉(簡(jiǎn)明易懂)

    理解C#中的枚舉(簡(jiǎn)明易懂)

    這篇文章主要介紹了理解C#中的枚舉(簡(jiǎn)明易懂),本文講解了枚舉的優(yōu)點(diǎn)、枚舉說(shuō)明、枚舉的類型、枚舉的使用建議等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • C#后臺(tái)接受前臺(tái)JSON字符串裝換成字典集合處理

    C#后臺(tái)接受前臺(tái)JSON字符串裝換成字典集合處理

    本文介紹C#利用Newtonsoft接收前端的JSON字符串,并解析反序列化成字典集合,對(duì)其進(jìn)行處理。
    2016-04-04

最新評(píng)論