最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java簡(jiǎn)單工廠模式入門(mén)

 更新時(shí)間:2021年07月21日 11:48:33   作者:讓程序飛  
下面小編就為大家?guī)?lái)一篇java工廠模式入門(mén)文章。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

前言

定義一個(gè)工廠類(lèi),他可以根據(jù)參數(shù)的不同返回不同類(lèi)的實(shí)例,被創(chuàng)建的實(shí)例通常都具有共同的父類(lèi)

在簡(jiǎn)單工廠模式中用于被創(chuàng)建實(shí)例的方法通常為靜態(tài)(static)方法,因此簡(jiǎn)單工廠模式又被成為靜態(tài)工廠方法(Static Factory Method) 只需要傳入一個(gè)正確的參數(shù),就可以獲取所需要的對(duì)象,而無(wú)需知道其實(shí)現(xiàn)過(guò)程

試?yán)?/h3>

以飲料加工廠為例

1. 創(chuàng)建飲料接口(或者抽象類(lèi))

public interface Drink {
    void production();
}

2. 具體飲料類(lèi)的實(shí)現(xiàn)(可樂(lè)、雪碧)

public class ColaDrinkProduction implements Drink{
    @Override
    public void production() {
        System.out.println("生產(chǎn)可樂(lè)飲料");
    }
}
public class SpriteDrinkProduction implements Drink{
    @Override
    public void production() {
        System.out.println("生產(chǎn)雪碧飲料");
    }
}

3. 飲料生產(chǎn)工廠類(lèi)

public class DrinkProductionFactory {
    public static Drink productionDrink(String type){
        switch (type){
            case "cloa":
                return new ColaDrinkProduction();
            default:
                return new SpriteDrinkProduction();
        }
    }
}

4. 工廠調(diào)用

需要什么對(duì)象傳入對(duì)應(yīng)的參數(shù)即可

Drink cloa = DrinkProductionFactory.productionDrink("cloa");
 cloa.production();

特點(diǎn)

它是一個(gè)具體的類(lèi),非接口 抽象類(lèi)。有一個(gè)重要的調(diào)用方法(productionDrink),通常是靜態(tài)的,利用if或者 switch創(chuàng)建產(chǎn)品并返回

缺點(diǎn)

擴(kuò)展性差 我想增加一種飲料,除了新增一個(gè)飲料產(chǎn)品類(lèi),還需要修改工廠類(lèi)方法(增加‘Case'的分支條件) 這樣來(lái)說(shuō) 不但對(duì)擴(kuò)展開(kāi)放了,對(duì)修改也開(kāi)放了 違背了開(kāi)放-封閉原則

總結(jié)

本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • 如何利用Java?AWT?創(chuàng)建一個(gè)簡(jiǎn)易計(jì)算器

    如何利用Java?AWT?創(chuàng)建一個(gè)簡(jiǎn)易計(jì)算器

    這篇文章主要介紹了如何利用Java?AWT?創(chuàng)建一個(gè)簡(jiǎn)易計(jì)算器,AWT?是一個(gè)有助于構(gòu)建?GUI?的?API?基于?java?應(yīng)用程序,下面關(guān)于其相關(guān)資料實(shí)現(xiàn)計(jì)算器的內(nèi)容詳細(xì),需要的朋友可以參考一下
    2022-03-03
  • Java實(shí)現(xiàn)把文件壓縮成zip文件的示例代碼

    Java實(shí)現(xiàn)把文件壓縮成zip文件的示例代碼

    這篇文章主要為大家介紹了如何通過(guò)Java語(yǔ)言實(shí)現(xiàn)將文件壓縮成zip文件,本文中示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • Eolink上傳文件到Java后臺(tái)進(jìn)行處理的示例代碼

    Eolink上傳文件到Java后臺(tái)進(jìn)行處理的示例代碼

    這篇文章主要介紹了Eolink上傳文件到Java后臺(tái)進(jìn)行處理,這里是上傳的excel表格數(shù)據(jù)并轉(zhuǎn)換為java集合對(duì)象、然后進(jìn)行業(yè)務(wù)邏輯處理判斷最后保存到數(shù)據(jù)庫(kù)?,需要的朋友可以參考下
    2022-12-12
  • Jmeter使用接口傳遞數(shù)據(jù)過(guò)程圖解

    Jmeter使用接口傳遞數(shù)據(jù)過(guò)程圖解

    這篇文章主要介紹了Jmeter使用接口傳遞數(shù)據(jù)過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • MyBatisPlus的簡(jiǎn)介及案例詳解

    MyBatisPlus的簡(jiǎn)介及案例詳解

    MyBatisPlus(簡(jiǎn)稱(chēng)MP)是基于MyBatis框架基礎(chǔ)上開(kāi)發(fā)的增強(qiáng)型工具,旨在簡(jiǎn)化開(kāi)發(fā)、提高效率。本文將為大家詳細(xì)介紹一下MyBatisPlus是使用,需要的可以參考一下
    2022-07-07
  • Spring Boot 與 Kotlin 上傳文件的示例代碼

    Spring Boot 與 Kotlin 上傳文件的示例代碼

    這篇文章主要介紹了Spring Boot 與 Kotlin 上傳文件的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • SpringBoot在IDEA中實(shí)現(xiàn)熱部署的步驟

    SpringBoot在IDEA中實(shí)現(xiàn)熱部署的步驟

    這篇文章主要介紹了SpringBoot在IDEA中實(shí)現(xiàn)熱部署的步驟,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2020-11-11
  • java字符串?dāng)?shù)字補(bǔ)齊位數(shù)詳解

    java字符串?dāng)?shù)字補(bǔ)齊位數(shù)詳解

    這篇文章主要介紹了java字符串?dāng)?shù)字補(bǔ)齊位數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Quarkus篇入門(mén)創(chuàng)建項(xiàng)目搭建debug環(huán)境

    Quarkus篇入門(mén)創(chuàng)建項(xiàng)目搭建debug環(huán)境

    這篇文章主要為大家介紹了Quarkus篇入門(mén)創(chuàng)建項(xiàng)目搭建debug環(huán)境,先來(lái)一套hello?world,來(lái)搭建基本的運(yùn)行及調(diào)試環(huán)境吧
    2022-02-02
  • 用java生成html文件實(shí)現(xiàn)原理及代碼

    用java生成html文件實(shí)現(xiàn)原理及代碼

    用printStream來(lái)向html文件里輸出數(shù)據(jù),先創(chuàng)建一個(gè)StringBuilder對(duì)象,通過(guò)append方法來(lái)為其添加html語(yǔ)句,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下,希望對(duì)大家有所幫助
    2013-08-08

最新評(píng)論

深州市| 芮城县| 邢台市| 渭源县| 昌邑市| 中西区| 罗定市| 手机| 磐安县| 泸溪县| 曲松县| 凯里市| 东城区| 达拉特旗| 泽普县| 新晃| 宜阳县| 周口市| 习水县| 彭州市| 潼南县| 淮阳县| 大余县| 安陆市| 同江市| 沙河市| 泸水县| 五家渠市| 如东县| 鄂伦春自治旗| 仙居县| 平定县| 曲靖市| 舞阳县| 尚志市| 香格里拉县| 益阳市| 原阳县| 绥德县| 博兴县| 邮箱|