国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

抽象工廠模式(Abstract Factory Pattern)

這篇具有很好參考價(jià)值的文章主要介紹了抽象工廠模式(Abstract Factory Pattern)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

抽象工廠模式

回顧工廠方法設(shè)計(jì)模式的不足:具體產(chǎn)品增加時(shí),系統(tǒng)中類的個(gè)數(shù)將成對(duì)增加,在一定程度上增加了系統(tǒng)的復(fù)雜度

一、模式動(dòng)機(jī)

  • 產(chǎn)品等級(jí)結(jié)構(gòu):產(chǎn)品等級(jí)結(jié)構(gòu)即產(chǎn)品的繼承結(jié)構(gòu),即抽象產(chǎn)品與具體產(chǎn)品
  • 產(chǎn)品族:在抽象工廠模式中,產(chǎn)品族是指由同一個(gè)工廠生產(chǎn)的,位于不同產(chǎn)品等級(jí)結(jié)構(gòu)中的一組產(chǎn)品
    抽象工廠模式(Abstract Factory Pattern)

二、模式定義

提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對(duì)象的接口,而無(wú)須指定它們具體的類。抽象工廠模式又稱為Kit模式,屬于對(duì)象創(chuàng)建型模式。

三、模式結(jié)構(gòu)

抽象工廠模式(Abstract Factory Pattern)

四、案例實(shí)現(xiàn)

案例背景

電視機(jī)、空調(diào)工廠,不同品牌的電視和空調(diào)

案例結(jié)構(gòu)

抽象工廠模式(Abstract Factory Pattern)

代碼實(shí)現(xiàn)

抽象工廠模式(Abstract Factory Pattern)

五、模式分析

將產(chǎn)品按照產(chǎn)品等級(jí)結(jié)構(gòu)劃分,將工廠按照產(chǎn)品族劃分文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-433476.html

六、總結(jié)

模式優(yōu)點(diǎn)

  • 隔離了具體類的生成,使得客戶端并不需要知道什么被創(chuàng)建
  • 當(dāng)一個(gè)產(chǎn)品族中的多個(gè)對(duì)象被設(shè)計(jì)成一起工作時(shí),它能夠保證客戶端始終只使用同一個(gè)產(chǎn)品族中的對(duì)象
  • 增加新的產(chǎn)品族很方便,無(wú)須修改已有系統(tǒng),符合開(kāi)閉原則

模式缺點(diǎn)

  • 增加新的產(chǎn)品等級(jí)結(jié)構(gòu)麻煩,需要對(duì)原有系統(tǒng)進(jìn)行較大的修改,甚至需要修改抽象層代碼,這顯然會(huì)帶來(lái)較大的不便,違背了開(kāi)閉原則

模式應(yīng)用情形

  • 一個(gè)系統(tǒng)不應(yīng)當(dāng)依賴于產(chǎn)品類實(shí)例如何被創(chuàng)建、組合和表達(dá)的細(xì)節(jié)
  • 系統(tǒng)中有多于一個(gè)的產(chǎn)品族,但每次只使用其中某一產(chǎn)品族
  • 屬于同一個(gè)產(chǎn)品族的產(chǎn)品將在一起使用,這一約束必須在系統(tǒng)的設(shè)計(jì)中體現(xiàn)出來(lái)
  • 產(chǎn)品等級(jí)結(jié)構(gòu)穩(wěn)定,在設(shè)計(jì)完成之后不會(huì)向系統(tǒng)中增加新的產(chǎn)品等級(jí)結(jié)構(gòu)或者刪除已有的產(chǎn)品等級(jí)結(jié)構(gòu)

到了這里,關(guān)于抽象工廠模式(Abstract Factory Pattern)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 抽象工廠模式(Abstract Factory)

    抽象工廠模式(Abstract Factory)

    抽象工廠是一種 創(chuàng)建型設(shè)計(jì)模式 ,它能 創(chuàng)建一系列相關(guān)的對(duì)象,而無(wú)需指定其具體類 。 1. 問(wèn)題 假設(shè)你正在開(kāi)發(fā)一款家具商店模擬器。你的代碼中包括一些類,用于表示: 一系列相關(guān)產(chǎn)品,例如椅子(Chair)、沙發(fā)(Sofa)和咖啡桌(CoffeeTable) 系列產(chǎn)品的不同變體,例如你

    2024年02月11日
    瀏覽(22)
  • 設(shè)計(jì)模式-創(chuàng)建型模式之抽象工廠模式(Abstract Factory)

    設(shè)計(jì)模式-創(chuàng)建型模式之抽象工廠模式(Abstract Factory)

    在工廠方法模式中具體工廠負(fù)責(zé)生產(chǎn)具體的產(chǎn)品,每一個(gè)具體工廠對(duì)應(yīng)一種具體產(chǎn)品,工廠方法也具有唯一性,一般情況下,一個(gè)具體工廠中只有一個(gè)工廠方法或者一組重載的工廠方法。但是有時(shí)候我們需要 一個(gè)工廠可以提供多個(gè)產(chǎn)品對(duì)象 ,而不是單一的產(chǎn)品對(duì)象。 為了更

    2023年04月20日
    瀏覽(31)
  • C++11 設(shè)計(jì)模式4. 抽象工廠(Abstract Factory)模式

    C++11 設(shè)計(jì)模式4. 抽象工廠(Abstract Factory)模式

    從前面我們已經(jīng)使用了工廠方法模式 解決了一些問(wèn)題。 現(xiàn)在 策劃又提出了新的需求:對(duì)于各個(gè)怪物,在不同的場(chǎng)景下,怪物的面板數(shù)值會(huì)發(fā)生變化, ?? ?//怪物分類:亡靈類,元素類,機(jī)械類 ?? ?//戰(zhàn)斗場(chǎng)景分類:沼澤地區(qū),山脈地區(qū),城鎮(zhèn)。 那么就有9類怪物====沼澤地

    2024年04月14日
    瀏覽(21)
  • 《golang設(shè)計(jì)模式》第一部分·創(chuàng)建型模式-04-抽象工廠模式(Abstract Factory)

    《golang設(shè)計(jì)模式》第一部分·創(chuàng)建型模式-04-抽象工廠模式(Abstract Factory)

    在不具體指定產(chǎn)品類的情況下,為相互關(guān)聯(lián)的產(chǎn)品簇或產(chǎn)品集提供創(chuàng)建接口,并向客戶隱藏具體產(chǎn)品創(chuàng)建的細(xì)節(jié)或表示的對(duì)象。 AbstractFactory(抽象工廠):它聲明了一組用于創(chuàng)建產(chǎn)品的方法,每一個(gè)方法對(duì)應(yīng)一種產(chǎn)品。 ConcreteFactory(具體工廠):它實(shí)現(xiàn)了在抽象工廠中聲明

    2024年02月14日
    瀏覽(26)
  • Abstract Factory 抽象工廠

    Abstract Factory 抽象工廠

    提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對(duì)象的接口,而無(wú)需指定他們具體的類。 其中: AbstractFactory聲明一個(gè)創(chuàng)建抽象產(chǎn)品對(duì)象的操作接口。 ConcreteFactory實(shí)現(xiàn)創(chuàng)建具體產(chǎn)品對(duì)象的操作。 AbstractProduct為一類產(chǎn)品對(duì)象聲明一個(gè)接口。 ConcreteProduct定義一個(gè)將被相應(yīng)的具體工廠創(chuàng)建的

    2024年04月11日
    瀏覽(27)
  • 設(shè)計(jì)模式--工廠模式(Factory Pattern)

    設(shè)計(jì)模式--工廠模式(Factory Pattern)

    工廠模式(Factory Pattern)是一種創(chuàng)建型設(shè)計(jì)模式,它提供了一種創(chuàng)建對(duì)象的接口,但是將對(duì)象的實(shí)例化過(guò)程推遲到子類中。工廠模式允許通過(guò)調(diào)用一個(gè)共同的接口方法來(lái)創(chuàng)建不同類型的對(duì)象,而無(wú)需暴露對(duì)象的實(shí)例化邏輯。 工廠模式的主要目標(biāo)是解耦對(duì)象的創(chuàng)建和使用,以及

    2024年02月10日
    瀏覽(31)
  • 簡(jiǎn)單工廠模式-Simple Factory Pattern

    簡(jiǎn)單工廠模式-Simple Factory Pattern

    原文地址:https://jaune162.blog/design-pattern/simple-factory-pattern/ 簡(jiǎn)單工廠模式是一種非常常用的設(shè)計(jì)模式,但是并不屬于GoF中的23種設(shè)計(jì)模式。簡(jiǎn)單設(shè)計(jì)模式有很多種實(shí)現(xiàn)方式。 本文我們就來(lái)討論簡(jiǎn)單工廠模式的實(shí)現(xiàn)方式,以及如何借助Spring實(shí)現(xiàn)一個(gè)擴(kuò)展性很好的簡(jiǎn)單工廠模式。

    2024年02月22日
    瀏覽(25)
  • 工廠方法模式【Factory Method Pattern】

    工廠方法模式【Factory Method Pattern】

    實(shí)例化對(duì)象,用工廠方法代替new操作(重點(diǎn)) 工廠模式包括工廠方法模式和抽象工廠模式 抽象工廠模式是工廠方法模式的擴(kuò)展 有一組類似的 對(duì)象需要?jiǎng)?chuàng)建 在編碼時(shí) 不能預(yù)見(jiàn)需要?jiǎng)?chuàng)建哪種類的實(shí)例 系統(tǒng)需要考慮 擴(kuò)展性 ,不應(yīng)依賴于產(chǎn)品類實(shí)例如果被創(chuàng)建、組合和表達(dá)的細(xì)節(jié)

    2024年02月12日
    瀏覽(21)
  • 大話設(shè)計(jì)模式——2.簡(jiǎn)單工廠模式(Simple Factory Pattern)

    大話設(shè)計(jì)模式——2.簡(jiǎn)單工廠模式(Simple Factory Pattern)

    定義:又稱靜態(tài)工廠方法,可以根據(jù)參數(shù)的不同返回不同類的實(shí)例,專門定義一個(gè)類(工廠類)來(lái)負(fù)責(zé)創(chuàng)建其他類的實(shí)例可通過(guò)類名直接調(diào)用,被創(chuàng)建的實(shí)例通常具有共同的父類。 UML圖: 例子: 計(jì)算器中的加減乘除,可將不同的運(yùn)算看成不同的對(duì)象,通過(guò)工廠類進(jìn)行構(gòu)建,

    2024年02月22日
    瀏覽(27)
  • Simple Factory Pattern 簡(jiǎn)單工廠模式簡(jiǎn)介與 C# 示例【創(chuàng)建型】【設(shè)計(jì)模式來(lái)了】

    Simple Factory Pattern 簡(jiǎn)單工廠模式簡(jiǎn)介與 C# 示例【創(chuàng)建型】【設(shè)計(jì)模式來(lái)了】

    一句話解釋: ??客戶類和工廠類嚴(yán)格分工,客戶類只需知道怎么用,處理邏輯交給工廠類。 簡(jiǎn)單工廠模式(Simple Factory Pattern)是日常開(kāi)發(fā)中常用的設(shè)計(jì)模式。其是一種簡(jiǎn)單的創(chuàng)建型模式,它通過(guò)一個(gè)工廠類來(lái)創(chuàng)建對(duì)象,客戶端只需要知道如何使用工廠類,而不需要知道對(duì)

    2024年02月06日
    瀏覽(30)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包