亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

抽象工廠

Karuru / 3444人閱讀

摘要:缺點(diǎn)規(guī)定了所有可能被創(chuàng)建的產(chǎn)品集合,產(chǎn)品族中擴(kuò)展新的產(chǎn)品困難,需要修改抽象工廠的接口。支持拓展增加產(chǎn)品抽象工廠用來生產(chǎn)不同產(chǎn)品族的全部產(chǎn)品。

抽象工廠

定義

抽象工廠模式提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口

無需指它們具體的類

類型創(chuàng)建

適用場景

客戶端(應(yīng)用層)不依賴于產(chǎn)品類實(shí)例如何被創(chuàng)建、實(shí)現(xiàn)等細(xì)節(jié)

強(qiáng)調(diào)一系列相關(guān)的產(chǎn)品對象(屬于同一產(chǎn)品)一起使用創(chuàng)建對象需要大量重復(fù)的代碼

提供一個產(chǎn)品類的庫,所有的產(chǎn)品以同樣的接口出現(xiàn),從而使客戶端不依賴于具體實(shí)現(xiàn)。

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

具體產(chǎn)品在應(yīng)用層代碼隔離,無需關(guān)心創(chuàng)建細(xì)節(jié)。

將一個系列的產(chǎn)品族統(tǒng)一到一起創(chuàng)建。

缺點(diǎn)

規(guī)定了所有可能被創(chuàng)建的產(chǎn)品集合,產(chǎn)品族中擴(kuò)展新的產(chǎn)品困難,需要修改抽象工廠的接口。

增加了系統(tǒng)的抽象性和理解難度。

產(chǎn)品等級結(jié)構(gòu)和產(chǎn)品族

案例

視頻教程=視頻+筆記

public abstract class Article {
    public abstract void produce();
}
public abstract class Video {
    public abstract void produce();

}
public class JavaArticle extends Article {
    @Override
    public void produce() {
        System.out.println("編寫Java課程手記");
    }
}
public class JavaVideo extends Video {
    @Override
    public void produce() {
        System.out.println("錄制Java課程視頻");
    }
}
public class PythonArticle extends Article {
    @Override
    public void produce() {
        System.out.println("編寫Python課程手記");
    }
}
public class PythonVideo extends Video {
    @Override
    public void produce() {
        System.out.println("錄制Python課程視頻");
    }
}
public interface CourseFactory {
    Video getVideo();
    Article getArticle();

}
public class JavaCourseFactory implements CourseFactory {
    @Override
    public Video getVideo() {
        return new JavaVideo();
    }

    @Override
    public Article getArticle() {
        return new JavaArticle();
    }
}
public class PythonCourseFactory implements CourseFactory {
    @Override
    public Video getVideo() {
        return new PythonVideo();
    }

    @Override
    public Article getArticle() {
        return new PythonArticle();
    }
}
public class Test {
    public static void main(String[] args) {
        CourseFactory courseFactory = new JavaCourseFactory();
        Video video = courseFactory.getVideo();
        Article article = courseFactory.getArticle();
        video.produce();
        article.produce();
    }
}

區(qū)別

簡單工廠 : 用來生產(chǎn)同一等級結(jié)構(gòu)中的任意產(chǎn)品。(不支持拓展增加產(chǎn)品)

工廠方法 :用來生產(chǎn)同一等級結(jié)構(gòu)中的固定產(chǎn)品。(支持拓展增加產(chǎn)品)

抽象工廠 :用來生產(chǎn)不同產(chǎn)品族的全部產(chǎn)品。(不支持拓展增加產(chǎn)品;支持增加產(chǎn)品族)

參考資料:https://www.cnblogs.com/qiaoc...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/74960.html

相關(guān)文章

  • JavaScript工廠模式

    摘要:基于工廠角色和產(chǎn)品角色的多態(tài)性設(shè)計是工廠方法模式的關(guān)鍵。工廠方法模式之所以又被稱為多態(tài)工廠模式,是因?yàn)樗械木唧w工廠類都具有同一抽象父類。工廠方法模式總結(jié)工廠方法模式是簡單工廠模式的進(jìn)一步抽象和推廣。 JavaScript工廠模式 首先需要說一下工廠模式。工廠模式根據(jù)抽象程度的不同分為三種 簡單工廠模式 工廠方法模式 抽象工廠模式 1.簡單工廠模式 簡單工廠模式:又稱為靜態(tài)工廠方法...

    oujie 評論0 收藏0
  • js常用設(shè)計模式實(shí)現(xiàn)(二)工廠模式和抽象工廠模式

    摘要:抽象工廠模式可以向客戶端提供一個接口,使客戶端在不必指定產(chǎn)品的具體的情況下,創(chuàng)建多個產(chǎn)品族中的產(chǎn)品對象。前邊的兩個都是直接生產(chǎn)實(shí)例的,開始以為抽象工廠也是但是后來發(fā)現(xiàn)抽象工廠更像是生產(chǎn)工廠,其實(shí)抽象工廠其實(shí)是實(shí)現(xiàn)子類繼承父類的方法。 創(chuàng)建型模式 創(chuàng)建型模式是對一個類的實(shí)例化過程進(jìn)行了抽象,把對象的創(chuàng)建和對象的使用進(jìn)行了分離 上一篇介紹了下單例模式,這一篇介紹一下工廠模式和抽象工廠模式,...

    meteor199 評論0 收藏0
  • Java 設(shè)計模式 簡單工廠 工廠模式 抽象工廠

    摘要:簡單工廠,工廠模式和抽象工廠。不要認(rèn)為簡單工廠是用就覺得一無是處,也不要覺得抽象工廠比較高大上就到處套。 工廠模式,實(shí)際上也會根據(jù)業(yè)務(wù)情景不同會有不同的實(shí)現(xiàn)方式。一般分為3種。簡單工廠,工廠模式和抽象工廠。顧名思義,這三種從簡單到抽象,名稱越來越高大上,實(shí)現(xiàn)方式肯定是越來越復(fù)雜 結(jié)論1:三種工廠的實(shí)現(xiàn)越來越復(fù)雜 簡單工廠 public class Factory { // 定義...

    CocoaChina 評論0 收藏0
  • PHP高級特性-反射Reflection以及Factory工廠設(shè)計模式的結(jié)合使用[代碼實(shí)例]

    摘要:反射提供給面向?qū)ο缶幊炭梢宰允〉哪芰?,即反射。在簡單工廠模式中,根據(jù)傳遞的參數(shù)來返回不同的類的實(shí)例簡單工廠模式又稱為靜態(tài)工廠方法模式。也就是簡單工廠模式工廠工廠類。PHP高級特性-反射以及工廠設(shè)計模式的結(jié)合使用 [結(jié)合 Laravel-Admin 代碼實(shí)例講解]利用反射來實(shí)現(xiàn)工廠模式的生產(chǎn)而無需創(chuàng)建特定的工廠類本文地址http://janrs.com/?p=833轉(zhuǎn)載無需經(jīng)過作者本人授權(quán)轉(zhuǎn)載...

    番茄西紅柿 評論0 收藏2637
  • python設(shè)計模式-抽象工廠模式

    摘要:源碼參考抽象工廠模式抽象工廠模式提供一個接口,用于創(chuàng)建相關(guān)或依賴對象的家族,而不需要指定具體類。工廠方法模式和抽象工廠模式如何選擇開始的時候,可以選擇工廠方法模式,因?yàn)樗芎唵沃恍枰^承,并實(shí)現(xiàn)工廠方法即可。 問題:在上一篇 python設(shè)計模式:工廠方法模式我們嘗試使用工廠方法創(chuàng)建了披薩店,現(xiàn)在為了保證披薩加盟店也能有良好的聲譽(yù),我們需要統(tǒng)一原材料,這個該如何做呢? 為了確保每家加盟...

    seal_de 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<