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

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

    • 分享

      【設(shè)計(jì)模式】簡(jiǎn)單工廠模式

       路人甲Java 2021-07-19

      定義


      通過(guò)工廠類(lèi)提供的方法,創(chuàng)建不同的派生類(lèi)

      通常創(chuàng)建的類(lèi)都具有共同的基類(lèi)/接口

      優(yōu)缺點(diǎn)


      • 優(yōu)點(diǎn)

      客戶(hù)端與具體的實(shí)現(xiàn)類(lèi)解耦

      • 缺點(diǎn)

      新增產(chǎn)品需要修改原來(lái)工廠類(lèi)的方法,不符合開(kāi)閉原則

      角色


      • 客戶(hù)端 --> 靜態(tài)工廠,抽象產(chǎn)品
      • 抽象產(chǎn)品 --> 具體產(chǎn)品
      • 具體產(chǎn)品
      • 靜態(tài)工廠 --> 抽象產(chǎn)品,具體產(chǎn)品

      代碼


      • 抽象產(chǎn)品
      public abstract class Phone
      {
          public abstract void Call();
      }
      
      • 具體產(chǎn)品
      public class IPhone : Phone
      {
          public override void Call()
          {
              System.Console.WriteLine("Call by IPhone");
          }
      }
      
      public class AndroidPhone : Phone
      {
          public override void Call()
          {
              System.Console.WriteLine("Call by Android");
          }
      }
      
      • 靜態(tài)工廠
      public static class PhoneFactory
      {
          public static Phone Create(string name)
          {
              switch (name)
              {
                  case "IPhone":
                      return new IPhone();
                  case "AndroidPhone":
                      return new AndroidPhone();
                  default:
                      throw new System.NotImplementedException($"未實(shí)現(xiàn)【{name}】類(lèi)型");
              }
          }
      }
      
      • 客戶(hù)端
      var phone = PhoneFactory.Create("IPhone");
      phone.Call();
      
      phone = PhoneFactory.Create("AndroidPhone");
      phone.Call();
      

      示例代碼 - Github

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

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多