乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      大話設(shè)計(jì)-代理模式

       Coder編程 2021-07-22

      記錄大話設(shè)計(jì)學(xué)習(xí)過程。

      代理模式:代理者為其他對(duì)象提供代理,以控制對(duì)真實(shí)對(duì)象的訪問。

      用戶調(diào)用代理者,代理者通過真實(shí)的對(duì)象引用讓對(duì)象去做事情。但是代理者可以附加一些功能,然后才讓真實(shí)對(duì)象去做事情。

      代理模式運(yùn)用案例:WebService生成代理訪問服務(wù),虛擬代理、安全代理(控制真實(shí)對(duì)象訪問時(shí)的權(quán)限)、智能引用。

      using System;
      
      namespace ConsoleApp4
      {
          class Program
          {
              public static void Main(string[] args)
              {
                  var girl = new SchoolGirl("鄧紫棋");
                  Proxy proxy = new Proxy(girl);
                  proxy.GiveFlowers();
                  proxy.GiveChocolate();
                  proxy.GiveDolls();
              }
          }
      
          interface GiveGift
          {
              void GiveDolls();
              void GiveFlowers();
              void GiveChocolate();
          }
      
          class Pursuit : GiveGift
          {
              SchoolGirl girl;
              public Pursuit(SchoolGirl girl)
              {
                  this.girl=girl;
              }
      
              public void GiveChocolate()
              {
                  Console.WriteLine("送巧克力");
              }
      
              public void GiveDolls()
              {
                  Console.WriteLine("送洋娃娃");
              }
      
              public void GiveFlowers()
              {
                  Console.WriteLine("送花");
              }
          }
      
          class Proxy : GiveGift
          {
              Pursuit Pursuit;
              public Proxy(SchoolGirl girl)
              {
                  Pursuit = new Pursuit(girl);
              }
      
              public void GiveChocolate()
              {
                  this.Pursuit.GiveChocolate();
              }
      
              public void GiveDolls()
              {
                  this.Pursuit.GiveDolls();
              }
      
              public void GiveFlowers()
              {
                  this.Pursuit.GiveFlowers();
              }
          }
      
          internal class SchoolGirl
          {
              public string Name { get; set; }
              public SchoolGirl(string name)
              {
                  this.Name = name;
              }
          }
      }
      View Code
      using System;
      
      namespace ConsoleApp4
      {
          class Program
          {
              public static void Main(string[] args)
              {
                  Proxy proxy = new Proxy();
                  proxy.Request();
              }
          }
      
          abstract class Subject
          {
              public abstract void Request();
          }
      
          class RealSubject : Subject
          {
              public override void Request()
              {
                  Console.WriteLine("真實(shí)對(duì)象在請求");
              }
          }
      
          class Proxy : Subject
          {
              RealSubject realSubject;
      
              public Proxy()
              {
                  this.realSubject = new RealSubject();
              }
      
              public override void Request()
              {
                  // 寫一堆附加功能代碼.....
                  realSubject.Request();
              }
          }
          
      }

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請遵守用戶 評(píng)論公約

        類似文章 更多