<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          反射 + 抽象工廠模式切換不同的實現(xiàn)方法

          共 1689字,需瀏覽 4分鐘

           ·

          2021-03-15 07:53


          概述

          工廠模式(Abstract Factory)定義 :提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定它們具體的類。

          抽象工廠模式(Abstract Factory Pattern)是圍繞一個超級工廠創(chuàng)建其他工廠。該超級工廠又稱為其他工廠的工廠。這種類型的設(shè)計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。

          在抽象工廠模式中,接口是負(fù)責(zé)創(chuàng)建一個相關(guān)對象的工廠,不需要顯式指定它們的類。每個生成的工廠都能按照工廠模式提供對象。

          實現(xiàn)

          1、在項目中,創(chuàng)建接口IA


          using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;
          namespace 工廠{ public interface IA { string RequestId(); }}

          2、實現(xiàn)方法1

          using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;
          namespace 工廠{ public class a1 : IA { public string RequestId(){ return "a11111"; } }}

          3、實現(xiàn)方法2



          using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;
          namespace 工廠{ public class a2 : IA { public string RequestId(){ return "a22222"; } }}

          測試

          使用反射的方式,切換不同的實現(xiàn)方法

            public IActionResult Index()        {            var a1 = (工廠.IA)Assembly.Load("工廠").CreateInstance("工廠.a1");            Console.WriteLine(a1);            var a2 = (工廠.IA)Assembly.Load("工廠").CreateInstance("工廠.a2");            Console.WriteLine(a2);            return View();        }

          結(jié)果如下,達到預(yù)期效果


          代碼地址:

          https://gitee.com/conanOpenSource_admin/Example/tree/master/%E5%B7%A5%E5%8E%82


          往期精彩回顧




          【推薦】.NET Core開發(fā)實戰(zhàn)視頻課程 ★★★

          .NET Core實戰(zhàn)項目之CMS 第一章 入門篇-開篇及總體規(guī)劃

          【.NET Core微服務(wù)實戰(zhàn)-統(tǒng)一身份認(rèn)證】開篇及目錄索引

          Redis基本使用及百億數(shù)據(jù)量中的使用技巧分享(附視頻地址及觀看指南)

          .NET Core中的一個接口多種實現(xiàn)的依賴注入與動態(tài)選擇看這篇就夠了

          10個小技巧助您寫出高性能的ASP.NET Core代碼

          用abp vNext快速開發(fā)Quartz.NET定時任務(wù)管理界面

          在ASP.NET Core中創(chuàng)建基于Quartz.NET托管服務(wù)輕松實現(xiàn)作業(yè)調(diào)度

          現(xiàn)身說法:實際業(yè)務(wù)出發(fā)分析百億數(shù)據(jù)量下的多表查詢優(yōu)化

          關(guān)于C#異步編程你應(yīng)該了解的幾點建議

          C#異步編程看這篇就夠了


          瀏覽 36
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产综合网在线 | 人妻中文字幕av 人人艹人人摸人人 | 第一操逼视频 | 一本无码免费 | 毛片操逼视频 |