黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java抽象工廠模式詳解

Java抽象工廠模式詳解

更新時間:2022-10-25 10:55:57 來源:動力節點 瀏覽3041次

抽象工廠設計模式示例

在本例中,我們將創建工廠方法設計模式的兩個實現:AnimalFactory和Color Factory。

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

首先,我們將創建一個Animal類家族,稍后將在我們的抽象工廠中使用它。

這是動物界面:

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

和一個具體的實現Duck:

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

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

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

我們現在將跳過實際代碼,但可以在此處找到。

現在我們已經準備好了多個系列,我們可以為它們創建一個AbstractFactory接口:

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

接下來,我們將使用我們在上一節中討論的工廠方法設計模式來實現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;
    }
}

同樣,我們可以使用相同的設計模式為Color接口實現一個工廠。

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

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;
    }
}

何時使用抽象工廠模式:

客戶端獨立于我們如何在系統中創建和組合對象

該系統由多個對象族組成,這些族旨在一起使用

我們需要一個運行時值來構造一個特定的依賴項

雖然該模式在創建預定義對象時非常有用,但添加新對象可能具有挑戰性。要支持新類型的對象,需要更改AbstractFactory類及其所有子類。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧美日本免费观看αv片 | 日韩视频精品在线 | 在线黄色免费 | 在线中文字幕网 | 亚洲一区二区精品视频 | 日本中文字幕在线观看 | 日韩中文精品亚洲第三区 | 国产欧美亚洲精品第一页久久肉 | 操操操日日 | 国内视频一区二区三区 | 成人免费观看高清在线毛片 | 好男人在线社区www在线视频一 | 国产精品成人观看视频网站 | 欧美成人免费 | 免费看一级特黄a大片 | 亚洲中字 | 久久人人爽人人爽人人 | www.亚洲国产 | 天天天操操操 | 久久成人免费视频 | 在线观看国产精品麻豆 | 一级毛片在线免费视频 | 免费的性爱视频 | 亚洲一区日韩 | 欧美精品午夜久久久伊人 | 日韩a在线看免费观看视频 日韩h片 | 天天爽视频 | 无遮挡h黄漫画免费观看 | 国产资源中文字幕 | 日日摸夜夜添夜夜爽免费视频 | 国产日韩欧美在线播放 | 女人被男人扒开狂躁视频 | 91精品国产高清久久久久久91 | www.黄色在线观看 | 日本高清中文字幕视频在线 | 亚洲社区在线观看 | 亚洲欧洲国产精品 | 国产黄a三级三级看三级 | 亚洲精选在线 | 久久yy | 动漫美女无遮挡 |