成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

設(shè)計模式——工廠方法

itvincent / 1002人閱讀

摘要:簡介工廠方法是一種創(chuàng)建型模式,它定義一個創(chuàng)建對象的接口,讓子類決定實例化哪一個類,可以使一個類的實例化延遲到其子類。類圖是一個產(chǎn)品接口,是具體的產(chǎn)品,聲明工廠方法,返回一個類型的對象,是具體工廠,定義了工廠方法,返回一個具體的。

1. 簡介

??工廠方法是一種創(chuàng)建型模式,它定義一個創(chuàng)建對象的接口,讓子類決定實例化哪一個類,可以使一個類的實例化延遲到其子類。它具有良好的擴展性,當(dāng)有新產(chǎn)品類增加時,只需要新增一個具體的工廠類。調(diào)用者也不需要關(guān)心具體的產(chǎn)品及其創(chuàng)建過程,只需要知道它的接口。

2. UML類圖

??Product是一個產(chǎn)品接口,ConcreteProduct是具體的產(chǎn)品,Creator聲明工廠方法,返回一個Product類型的對象,ConcreteCreator是具體工廠,定義了工廠方法,返回一個具體的Product。

3. 實例

Product接口:

public interface Phone {
    void show();
}

具體產(chǎn)品:

public class IPhone implements Phone {
    public void show() {
        System.out.println("apple phone");
    }
}

public class Galaxy implements Phone {
    public void show() {
        System.out.println("samsung phone");
    }
}

抽象工廠:

public interface Creator {
    Phone createPhone();
}

具體工廠:

public class AppleCreator implements Creator {
    public Phone createPhone() {
        return new IPhone();
    }
}

public class SamsungCreator implements Creator {
    public Phone createPhone() {
        return new Galaxy();
    }
}

測試

public class Test {
    public static void main(String[] args) {
        Creator creator = new SamsungCreator();
        Phone phone = creator.createPhone();
        phone.show();
    }
}

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

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

相關(guān)文章

  • JavaScript工廠模式

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

    oujie 評論0 收藏0
  • 工廠模式-設(shè)計模式

    摘要:不過怎么來說工廠方法模式是簡單工廠模式的升級版。其次,工廠模式是一種典型的解耦模式,迪米特法則在工廠模式中表現(xiàn)的尤為明顯。 工廠模式想必大家在開發(fā)過程中會經(jīng)常用到,顧名思義其就是作為一個工廠用來生產(chǎn)產(chǎn)品的,下面來簡單介紹幾種常見的工廠模式。 0x01 簡單工廠模式 1、類圖結(jié)構(gòu)showImg(/img/bVFf1t?w=531&h=278); 2、角色分類 工廠類:其內(nèi)部具有一點的判...

    HtmlCssJs 評論0 收藏0
  • Java 設(shè)計模式工廠模式

    摘要:與以往的使用的方式不同,工廠模式使用工廠實例化對象。抽象工廠模式亮相抽象工廠模式抽象工廠模式提供一個接口,用于創(chuàng)建相關(guān)或依賴對象的家族,而不需要明確指定具體類。 寫在前面 這篇博文介紹設(shè)計模式的形式將與其他篇博文不太一樣,這里我們將從一個問題入手,逐步了解到簡單工廠、工廠方法與抽象工廠模式。 PS:這篇博文涉及的內(nèi)容較多,所以篇幅有點長,請耐心閱讀。 為什么要使用工廠模式? 在 OO ...

    Jochen 評論0 收藏0
  • 設(shè)計模式學(xué)習(xí)筆記:工廠模式

    摘要:二簡單工廠模式組成工廠類工廠模式的核心,通過調(diào)用它來實現(xiàn)其他類的功能。三工廠方法模式利用工廠方法模式可以有效解決簡單工廠模式破壞開閉原則的問題。 一、概念 1、工廠模式分為三類:(1)簡單工廠模式:一個工廠創(chuàng)建所有產(chǎn)品(2)工廠方法模式:一個工廠方法創(chuàng)建一個產(chǎn)品(3)抽象工廠模式:一個工廠方法創(chuàng)建一類產(chǎn)品 2、創(chuàng)建型模式這種模式是指將實例的創(chuàng)建和使用分離開來,隱藏類實例的創(chuàng)建細節(jié),外界...

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

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

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

    摘要:一簡單工廠定義簡單工廠其實并不屬于種設(shè)計模式之一,該模式是工廠方法模式的弱化或者說是工廠方法模式的一種特例,因為簡單,所以稱為簡單工廠模式,也叫做靜態(tài)工廠模式。 一、簡單工廠 定義 簡單工廠其實并不屬于23種GOF設(shè)計模式之一,該模式是工廠方法模式的弱化(或者說是工廠方法模式的一種特例),因為簡單,所以稱為簡單工廠模式(Simple Factory Pattern),也叫做靜態(tài)工廠模式...

    Songlcy 評論0 收藏0

發(fā)表評論

0條評論

itvincent

|高級講師

TA的文章

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