日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

簡單工廠模式在C#中的實現(xiàn)

來源: 責編: 時間:2024-07-23 07:18:16 503觀看
導讀簡單工廠模式(Simple Factory Pattern)屬于創(chuàng)建型模式,它定義了一個創(chuàng)建對象的類,由這個類來封裝實例化對象的行為。在簡單工廠模式中,可以根據(jù)參數(shù)的不同返回不同類的實例。簡單工廠模式專門定義一個類來負責創(chuàng)建其他類的

簡單工廠模式(Simple Factory Pattern)屬于創(chuàng)建型模式,它定義了一個創(chuàng)建對象的類,由這個類來封裝實例化對象的行為。在簡單工廠模式中,可以根據(jù)參數(shù)的不同返回不同類的實例。簡單工廠模式專門定義一個類來負責創(chuàng)建其他類的實例,被創(chuàng)建的實例通常具有共同的父類。FnA28資訊網(wǎng)——每日最新資訊28at.com

FnA28資訊網(wǎng)——每日最新資訊28at.com

一、簡單工廠模式的結(jié)構(gòu)

簡單工廠模式主要包含以下角色:FnA28資訊網(wǎng)——每日最新資訊28at.com

  • 工廠類(Creator):這是簡單工廠模式的核心,它負責實現(xiàn)創(chuàng)建所有實例的內(nèi)部邏輯。工廠類可以被外界直接調(diào)用,創(chuàng)建所需的產(chǎn)品對象。
  • 抽象產(chǎn)品類(Product):簡單工廠模式所創(chuàng)建的所有對象的父類,它負責描述所有實例所共有的公共接口。
  • 具體產(chǎn)品類(Concrete Product):簡單工廠模式的創(chuàng)建目標,所有創(chuàng)建的對象都是充當這個角色的某個具體類的實例。

二、簡單工廠模式的實現(xiàn)

下面通過C#代碼示例來演示簡單工廠模式的實現(xiàn):FnA28資訊網(wǎng)——每日最新資訊28at.com

(1) 定義抽象產(chǎn)品類FnA28資訊網(wǎng)——每日最新資訊28at.com

public interface IProduct{    void Show();}

(2) 定義具體產(chǎn)品類FnA28資訊網(wǎng)——每日最新資訊28at.com

public class ConcreteProductA : IProduct{    public void Show()    {        Console.WriteLine("This is Product A");    }}public class ConcreteProductB : IProduct{    public void Show()    {        Console.WriteLine("This is Product B");    }}

(3) 定義工廠類FnA28資訊網(wǎng)——每日最新資訊28at.com

public class SimpleFactory{    public static IProduct CreateProduct(string type)    {        switch (type)        {            case "A":                return new ConcreteProductA();            case "B":                return new ConcreteProductB();            default:                throw new ArgumentException("Unknown product type");        }    }}

(4) 客戶端代碼FnA28資訊網(wǎng)——每日最新資訊28at.com

class Program{    static void Main(string[] args)    {        IProduct productA = SimpleFactory.CreateProduct("A");        productA.Show();        IProduct productB = SimpleFactory.CreateProduct("B");        productB.Show();    }}

三、簡單工廠模式的優(yōu)缺點

優(yōu)點:FnA28資訊網(wǎng)——每日最新資訊28at.com

  • 工廠類含有必要的判斷邏輯,可以決定在什么時候創(chuàng)建哪一個產(chǎn)品類的實例,客戶端可以免除直接創(chuàng)建產(chǎn)品對象的責任,而僅僅“消費”產(chǎn)品。簡單工廠模式通過這種做法實現(xiàn)了對責任的分割。
  • 客戶端無須知道所創(chuàng)建的具體產(chǎn)品類的類名,只需要知道具體產(chǎn)品類所對應的參數(shù)即可。
  • 通過引入配置文件,可以在不修改任何客戶端代碼的情況下更換和增加新的具體產(chǎn)品類,在一定程度上提高了系統(tǒng)的靈活性。

缺點:FnA28資訊網(wǎng)——每日最新資訊28at.com

  • 由于工廠類集中了所有產(chǎn)品創(chuàng)建邏輯,一旦不能正常工作,整個系統(tǒng)都要受到影響。
  • 使用簡單工廠模式將會增加系統(tǒng)中類的個數(shù),在一定程序上增加了系統(tǒng)的復雜度和理解難度。
  • 系統(tǒng)擴展困難,一旦添加新產(chǎn)品就不得不修改工廠邏輯,在產(chǎn)品類型較多時,有可能造成工廠邏輯過于復雜,不利于系統(tǒng)的擴展和維護。

簡單工廠模式作為一種簡單且實用的創(chuàng)建型模式,在軟件開發(fā)中得到了廣泛的應用,特別是當系統(tǒng)中只需要一個工廠類或者系統(tǒng)中只需要創(chuàng)建少量對象時,使用簡單工廠模式可以大大簡化系統(tǒng)的實現(xiàn),提高系統(tǒng)的可維護性和靈活性。FnA28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-102908-0.html簡單工廠模式在C#中的實現(xiàn)

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 深度選擇器探秘:/deep/、>>>、::v-deep 與 v-deep() 的區(qū)別與用法

下一篇: Git merge 和 Git rebase,如何選擇?

標簽:
  • 熱門焦點
  • K60 Pro官方停產(chǎn) 第三方瞬間漲價

    雖然沒有官方宣布,但Redmi的一些高管也已經(jīng)透露了,Redmi K60 Pro已經(jīng)停產(chǎn)且不會補貨,這一切都是為了即將到來的K60 Ultra鋪路,屬于廠家的正常操作。但有意思的是該機在停產(chǎn)之后
  • 一文看懂為蘋果Vision Pro開發(fā)應用程序

    譯者 | 布加迪審校 | 重樓蘋果的Vision Pro是一款混合現(xiàn)實(MR)頭戴設備。Vision Pro結(jié)合了虛擬現(xiàn)實(VR)和增強現(xiàn)實(AR)的沉浸感。其高分辨率顯示屏、先進的傳感器和強大的處理能力
  • 一篇聊聊Go錯誤封裝機制

    %w 是用于錯誤包裝(Error Wrapping)的格式化動詞。它是用于 fmt.Errorf 和 fmt.Sprintf 函數(shù)中的一個特殊格式化動詞,用于將一個錯誤(或其他可打印的值)包裝在一個新的錯誤中。使
  • 企業(yè)采用CRM系統(tǒng)的11個好處

    客戶關(guān)系管理(CRM)軟件可以為企業(yè)提供很多的好處,從客戶保留到提高生產(chǎn)力。  CRM軟件用于企業(yè)收集客戶互動,以改善客戶體驗和滿意度。  CRM軟件市場規(guī)模如今超過580
  • 小紅書1周漲粉49W+,我總結(jié)了小白可以用的N條漲粉筆記

    作者:黃河懂運營一條性教育視頻,被54萬人“珍藏”是什么體驗?最近,情感博主@公主是用鮮花做的,火了!僅僅憑借一條視頻,光小紅書就有超過128萬人,為她瘋狂點贊!更瘋狂的是,這
  • 梁柱接棒兩年,騰訊音樂闖出新路子

    文丨田靜 出品丨牛刀財經(jīng)(niudaocaijing)7月5日,企鵝FM發(fā)布官方公告稱由于業(yè)務調(diào)整,將于9月6日正式停止運營,這意味著騰訊音樂長音頻業(yè)務走向消亡。騰訊在長音頻領(lǐng)域還在摸索。為
  • 網(wǎng)紅炒股不為了賺錢,那就是耍流氓!

    來源:首席商業(yè)評論6月26日高調(diào)宣布入市,網(wǎng)絡名嘴大v胡錫進居然進軍了股市。在一次財經(jīng)媒體峰會上,幾個財經(jīng)圈媒體大佬就“胡錫進炒股是否知道認真報道”展開討論。有
  • 質(zhì)感不錯!OPPO K11渲染圖曝光:旗艦IMX890傳感器首次下放

    一直以來,OPPO K系列機型都保持著較為均衡的產(chǎn)品體驗,歷來都是2K價位的明星機型,去年推出的OPPO K10和OPPO K10 Pro兩款機型憑借各自的出色配置,堪稱有
  • 北京:科技教育體驗基地開始登記

      北京“科技館之城”科技教育體驗基地登記和認證工作日前啟動。首批北京科技教育體驗基地擬于2023年全國科普日期間掛牌,后續(xù)還將開展常態(tài)化登記。  北京科技教育體驗基
Top 主站蜘蛛池模板: 贵德县| 锦屏县| 若羌县| 务川| 灵寿县| 张家川| 丹寨县| 长葛市| 鲁甸县| 巴楚县| 高陵县| 鱼台县| 中阳县| 瑞丽市| 赤壁市| 凉城县| 韶关市| 永年县| 九龙县| 西青区| 梁山县| 义马市| 梅州市| 镇坪县| 呼玛县| 开封市| 渑池县| 安仁县| 梓潼县| 达州市| 丹寨县| 临安市| 五常市| 绥棱县| 东城区| 丹凤县| 新巴尔虎右旗| 枣庄市| 视频| 江安县| 台北市|