大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java抽象工廠模式詳解

Java抽象工廠模式詳解

更新時(shí)間:2022-10-25 10:55:57 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3107次

抽象工廠設(shè)計(jì)模式示例

在本例中,我們將創(chuàng)建工廠方法設(shè)計(jì)模式的兩個(gè)實(shí)現(xiàn):AnimalFactory和Color Factory。

之后,我們將使用抽象工廠AbstractFactory 管理對(duì)它們的訪問:

首先,我們將創(chuàng)建一個(gè)Animal類家族,稍后將在我們的抽象工廠中使用它。

這是動(dòng)物界面:

public interface Animal {
    String getAnimal();
    String makeSound();
}

和一個(gè)具體的實(shí)現(xiàn)Duck:

public class Duck implements Animal {
    @Override
    public String getAnimal() {
        return "Duck";
    }
    @Override
    public String makeSound() {
        return "Squeks";
    }
}

此外,我們可以完全以這種方式創(chuàng)建Animal接口(如Dog、Bear等)的更具體的實(shí)現(xiàn)。

抽象工廠處理依賴對(duì)象的族。考慮到這一點(diǎn),我們將引入另外一種顏色系列作為具有一些實(shí)現(xiàn)(白色、棕色……)的接口。

我們現(xiàn)在將跳過實(shí)際代碼,但可以在此處找到。

現(xiàn)在我們已經(jīng)準(zhǔn)備好了多個(gè)系列,我們可以為它們創(chuàng)建一個(gè)AbstractFactory接口:

public interface AbstractFactory<T> {
    T create(String animalType) ;
}

接下來,我們將使用我們?cè)谏弦还?jié)中討論的工廠方法設(shè)計(jì)模式來實(shí)現(xiàn)AnimalFactory :

public class AnimalFactory implements AbstractFactory<Animal> {
    @Override
    public Animal create(String animalType) {
        if ("Dog".equalsIgnoreCase(animalType)) {
            return new Dog();
        } else if ("Duck".equalsIgnoreCase(animalType)) {
            return new Duck();
        }
        return null;
    }
}

同樣,我們可以使用相同的設(shè)計(jì)模式為Color接口實(shí)現(xiàn)一個(gè)工廠。

設(shè)置完所有這些后,我們將創(chuàng)建一個(gè)FactoryProvider類,該類將為我們提供AnimalFactory或ColorFactory的實(shí)現(xiàn),具體取決于我們提供給getFactory()方法的參數(shù):

public class FactoryProvider {
    public static AbstractFactory getFactory(String choice){        
        if("Animal".equalsIgnoreCase(choice)){
            return new AnimalFactory();
        }
        else if("Color".equalsIgnoreCase(choice)){
            return new ColorFactory();
        }        
        return null;
    }
}

何時(shí)使用抽象工廠模式:

客戶端獨(dú)立于我們?nèi)绾卧谙到y(tǒng)中創(chuàng)建和組合對(duì)象

該系統(tǒng)由多個(gè)對(duì)象族組成,這些族旨在一起使用

我們需要一個(gè)運(yùn)行時(shí)值來構(gòu)造一個(gè)特定的依賴項(xiàng)

雖然該模式在創(chuàng)建預(yù)定義對(duì)象時(shí)非常有用,但添加新對(duì)象可能具有挑戰(zhàn)性。要支持新類型的對(duì)象,需要更改AbstractFactory類及其所有子類。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-10-10 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 尹人综合网 | 国产成人精品在线观看 | 国产成人亚洲精品老王 | 久久天天躁狠狠躁夜夜爽蜜月 | 亚洲综合一区二区精品久久 | 二级片免费看 | 成人免费一级毛片在线播放视频 | 欧美精品日日鲁夜夜 | 中国女人精69xxxxxx视频 | 99久久精品99999久久 | 久久vs国产综合色大全 | 尹人香蕉网 | 成人18网址在线观看 | 欧美一级毛片一 | 日韩国产一区二区 | 四虎影音在线观看 | 伊人色综合久久天天网 | 九九热这里只有国产精品 | 丹武至尊在线观看动漫 | 麻豆国产精品视频 | 五月天婷婷在线观看 | 国产精品久久综合桃花网 | 亚洲另类视频在线观看 | 欧美成人性视频在线黑白配 | 国产亚洲欧美一区二区 | 49xxx中国妇女内谢视频 | 真人一级一级特黄高清毛片 | 国产性色视频在线高清 | 香蕉视频在线观看www | 亚洲综合网在线 | 国内精品久久久久久不卡影院 | 日本一级淫片a的一级欧美 日本一级淫片a免费播放 | 香蕉精品视频在线观看入口 | 成人欧美视频在线看免费 | 精品美女 | 操熟美女又肥又嫩的骚屁股 | 久操视频在线观看免费 | 亚洲日韩成人 | 国产成人无精品久久久久国语 | 日韩中文在线视频 | 劲爆激情欧美毛片 |