国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Abstract Factory 抽象工廠

這篇具有很好參考價值的文章主要介紹了Abstract Factory 抽象工廠。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

意圖

提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定他們具體的類。

結(jié)構(gòu)

Abstract Factory 抽象工廠,設(shè)計模式,java,開發(fā)語言

其中:

  • AbstractFactory聲明一個創(chuàng)建抽象產(chǎn)品對象的操作接口。
  • ConcreteFactory實現(xiàn)創(chuàng)建具體產(chǎn)品對象的操作。
  • AbstractProduct為一類產(chǎn)品對象聲明一個接口。
  • ConcreteProduct定義一個將被相應(yīng)的具體工廠創(chuàng)建的產(chǎn)品對象,實現(xiàn)AbstractProduct接口。
  • Client僅使用由AbstractFactory和AbstractProduct類聲明的接口。

適用性

Abstract Factory模式使用于:文章來源地址http://www.zghlxwxcb.cn/news/detail-847384.html

  • 一個系統(tǒng)要獨立于他的產(chǎn)品的創(chuàng)建、組合和表達時。
  • 一個系統(tǒng)要由多個產(chǎn)品系列中的一個來配置時。
  • 當(dāng)要強調(diào)一系列相關(guān)的產(chǎn)品對象的設(shè)計以便進行聯(lián)合使用時。
  • 當(dāng)要強調(diào)一個產(chǎn)品類庫,只想顯示他們的接口而不是實現(xiàn)時。

代碼示例

//產(chǎn)品抽象類
abstract class Product {
    public abstract void doSomething();
}

//具體產(chǎn)品A
class ConcreteProductA extends Product {

    @Override
    public void doSomething() {
        System.out.println("Doing something with ConcreteProductA...");
    }
}

//具體產(chǎn)品B
class ConcreteProductB extends Product {

    @Override
    public void doSomething() {
        System.out.println("Doing something with ConcreteProductB...");
    }
}

//工廠抽象類
abstract class AbstractFactory {

    public abstract Product newProductA();

    public abstract Product newProductB();
}

//具體工廠A
class ConcreteFactoryA extends AbstractFactory {

    @Override
    public Product newProductA() {
        return new ConcreteProductA();
    }

    @Override
    public Product newProductB() {
        return new ConcreteProductB();
    }
}

//具體工廠B
class ConcreteFactoryB extends AbstractFactory {

    @Override
    public Product newProductA() {
        return new ConcreteProductA(); //返回不同的具體產(chǎn)品
    }

    @Override
    public Product newProductB() {
        return new ConcreteProductB(); //返回不同的具體產(chǎn)品
    }
}

public class Client {

    public static void main(String[] args) {
        AbstractFactory factory = new ConcreteFactoryA();
        Product p1 = factory.newProductA();
        Product p2 = factory.newProductB();
        p1.doSomething();
        p2.doSomething();
    }
}

到了這里,關(guān)于Abstract Factory 抽象工廠的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Abstract Factory Pattern 抽象工廠模式簡介與 C# 示例【創(chuàng)建型】【設(shè)計模式來了】

    Abstract Factory Pattern 抽象工廠模式簡介與 C# 示例【創(chuàng)建型】【設(shè)計模式來了】

    一句話解釋: ??提供一個接口,以創(chuàng)建一系列相關(guān)或相互依賴的抽象對象,而無需指定它們具體的類。 (將一系列抽象類裝進接口,一次接口實現(xiàn),就必須實例化這一系列抽象類) 抽象工廠模式(Abstract Factory Pattern)是一種創(chuàng)建型模式。它用于創(chuàng)建一組相關(guān)對象的家族。

    2024年02月07日
    瀏覽(18)
  • 抽象工廠模式(Abstract Factory)

    抽象工廠模式(Abstract Factory)

    抽象工廠是一種 創(chuàng)建型設(shè)計模式 ,它能 創(chuàng)建一系列相關(guān)的對象,而無需指定其具體類 。 1. 問題 假設(shè)你正在開發(fā)一款家具商店模擬器。你的代碼中包括一些類,用于表示: 一系列相關(guān)產(chǎn)品,例如椅子(Chair)、沙發(fā)(Sofa)和咖啡桌(CoffeeTable) 系列產(chǎn)品的不同變體,例如你

    2024年02月11日
    瀏覽(22)
  • 抽象工廠模式(Abstract Factory Pattern)

    抽象工廠模式(Abstract Factory Pattern)

    回顧工廠方法設(shè)計模式的不足:具體產(chǎn)品增加時,系統(tǒng)中類的個數(shù)將成對增加,在一定程度上增加了系統(tǒng)的復(fù)雜度 產(chǎn)品等級結(jié)構(gòu):產(chǎn)品等級結(jié)構(gòu)即產(chǎn)品的繼承結(jié)構(gòu),即抽象產(chǎn)品與具體產(chǎn)品 產(chǎn)品族:在抽象工廠模式中,產(chǎn)品族是指由同一個工廠生產(chǎn)的,位于不同產(chǎn)品等級結(jié)構(gòu)

    2024年02月02日
    瀏覽(26)
  • 抽象工廠模式-Abstract Factory Pattern

    抽象工廠模式-Abstract Factory Pattern

    原文地址:https://jaune162.blog/design-pattern/abstract-factory-pattern/ 首先我們由一個實際問題來引出抽象工廠模式。 考慮這樣一個場景,系統(tǒng)中需要向OSS上傳文件,以及通過OSS下載文件。而在系統(tǒng)中有不同的業(yè)務(wù)在使用這兩個功能。如下圖: 偽代碼如下

    2024年02月20日
    瀏覽(20)
  • Abstract Factory 抽象工廠

    Abstract Factory 抽象工廠

    提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定他們具體的類。 其中: AbstractFactory聲明一個創(chuàng)建抽象產(chǎn)品對象的操作接口。 ConcreteFactory實現(xiàn)創(chuàng)建具體產(chǎn)品對象的操作。 AbstractProduct為一類產(chǎn)品對象聲明一個接口。 ConcreteProduct定義一個將被相應(yīng)的具體工廠創(chuàng)建的

    2024年04月11日
    瀏覽(26)
  • Java設(shè)計模式-簡單工廠(Simple Factory)模式

    簡單工廠(Simple Factory)模式,又稱為靜態(tài)工廠方法(Static Factory Method)模式。 由一個工廠類來創(chuàng)建具體產(chǎn)品,即創(chuàng)建具體類的實例。 簡單工廠模式從概念上涉及三個角色: 抽象產(chǎn)品角色:是具體類的父類,規(guī)定了所有類的共同行為。一般是抽象類、或者接口。 具體產(chǎn)品角

    2024年02月16日
    瀏覽(25)
  • Java設(shè)計模式-抽象工廠模式

    設(shè)計模式是軟件設(shè)計中的一種常見方法,通過定義一系列通用的解決方案,來解決常見的軟件設(shè)計問題。其中,抽象工廠模式是一種非常常見的設(shè)計模式,它可以幫助我們創(chuàng)建一組相關(guān)的對象,而不需要指定具體的實現(xiàn)方式。 抽象工廠模式是一種創(chuàng)建型設(shè)計模式,它提供了一

    2024年02月01日
    瀏覽(24)
  • java設(shè)計模式【抽象工廠模式】

    java設(shè)計模式【抽象工廠模式】

    抽象工廠模式 是對簡單工廠模式的一個變種,它允許通過一個統(tǒng)一的接口來創(chuàng)建不同的產(chǎn)品實例,而無需指定具體的子類。在這個模式中,我們只關(guān)心產(chǎn)品的抽象接口,而將具體的產(chǎn)品實現(xiàn)留給子類去實現(xiàn)。這樣,我們可以通過創(chuàng)建不同的工廠對象來創(chuàng)建不同的產(chǎn)品實例,而

    2024年02月05日
    瀏覽(31)
  • Java特性之設(shè)計模式【抽象工廠模式】

    Java特性之設(shè)計模式【抽象工廠模式】

    概述 抽象工廠模式(Abstract Factory Pattern)是圍繞一個超級工廠創(chuàng)建其他工廠。該超級工廠又稱為其他工廠的工廠。這種類型的設(shè)計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式 在抽象工廠模式中,接口是負責(zé)創(chuàng)建一個相關(guān)對象的工廠,不需要顯式指定它們的類。

    2024年02月10日
    瀏覽(21)
  • 【Java 設(shè)計模式】創(chuàng)建型之抽象工廠模式

    【Java 設(shè)計模式】創(chuàng)建型之抽象工廠模式

    在軟件開發(fā)中,抽象工廠模式是一種常見的創(chuàng)建型設(shè)計模式, 它提供了一種創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定它們具體的類 。抽象工廠模式的核心思想是將一組相關(guān)的產(chǎn)品組合成一個工廠,客戶端通過工廠接口創(chuàng)建一系列產(chǎn)品。在本文中,我們將介紹 Jav

    2024年01月17日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包