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

[設(shè)計模式] 抽象工廠模式簡易案例

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

定義:提供一個接口來創(chuàng)建一系列相關(guān)或依賴對象,而無需指定其具體類。
痛點:當需要創(chuàng)建一組相關(guān)對象,例如操作系統(tǒng)的不同界面組件(按鈕、文本框等)時,抽象工廠模式非常有用。

以下是一個簡單的抽象工廠模式的 Java 示例,假設(shè)你要創(chuàng)建不同類型的按鈕和窗口組件。

首先,定義抽象按鈕類 Button 和抽象窗口類 Window:

// 抽象按鈕類
public abstract class Button {
    public abstract void paint();
}

// 抽象窗口類
public abstract class Window {
    public abstract void render();
}

然后,創(chuàng)建具體的按鈕類 LinuxButton 和 WindowsButton,以及具體的窗口類 LinuxWindow 和 WindowsWindow:

// 具體的 Linux 按鈕類
public class LinuxButton extends Button {
    @Override
    public void paint() {
        System.out.println("Linux 按鈕");
    }
}

// 具體的 Windows 按鈕類
public class WindowsButton extends Button {
    @Override
    public void paint() {
        System.out.println("Windows 按鈕");
    }
}

// 具體的 Linux 窗口類
public class LinuxWindow extends Window {
    @Override
    public void render() {
        System.out.println("Linux 窗口");
    }
}

// 具體的 Windows 窗口類
public class WindowsWindow extends Window {
    @Override
    public void render() {
        System.out.println("Windows 窗口");
    }
}

接下來,定義抽象工廠類 UIFactory,它包含創(chuàng)建按鈕和窗口的抽象方法:

public abstract class UIFactory {
    public abstract Button createButton();
    public abstract Window createWindow();
}

創(chuàng)建具體的工廠類 LinuxUIFactory 和 WindowsUIFactory,分別用于創(chuàng)建 Linux 風格和 Windows 風格的按鈕和窗口組件:

// 具體的 Linux UI 工廠
public class LinuxUIFactory extends UIFactory {
    @Override
    public Button createButton() {
        return new LinuxButton();
    }

    @Override
    public Window createWindow() {
        return new LinuxWindow();
    }
}

// 具體的 Windows UI 工廠
public class WindowsUIFactory extends UIFactory {
    @Override
    public Button createButton() {
        return new WindowsButton();
    }

    @Override
    public Window createWindow() {
        return new WindowsWindow();
    }
}

最后,你可以使用抽象工廠模式來創(chuàng)建不同風格的按鈕和窗口組件:

public class Main {
    public static void main(String[] args) {
        // 創(chuàng)建 Linux 風格的 UI 組件
        UIFactory linuxFactory = new LinuxUIFactory();
        Button linuxButton = linuxFactory.createButton();
        Window linuxWindow = linuxFactory.createWindow();

        linuxButton.paint(); // 輸出:Linux 按鈕
        linuxWindow.render(); // 輸出:Linux 窗口

        // 創(chuàng)建 Windows 風格的 UI 組件
        UIFactory windowsFactory = new WindowsUIFactory();
        Button windowsButton = windowsFactory.createButton();
        Window windowsWindow = windowsFactory.createWindow();

        windowsButton.paint(); // 輸出:Windows 按鈕
        windowsWindow.render(); // 輸出:Windows 窗口
    }
}

這個示例演示了抽象工廠模式的用法,根據(jù)不同的工廠對象創(chuàng)建了不同風格的按鈕和窗口組件,而不需要關(guān)心它們的具體實現(xiàn)類。這種方式有助于創(chuàng)建一組相關(guān)或依賴的對象,同時保持代碼的靈活性和可維護性。文章來源地址http://www.zghlxwxcb.cn/news/detail-704879.html

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

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

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

相關(guān)文章

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

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

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

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

    設(shè)計模式 - 抽象工廠模式

    學完工廠模式,才發(fā)現(xiàn)還有一個抽象工廠模式;學習后發(fā)現(xiàn)不論是通過接口方式、還是繼承方式,都可以使用抽象工廠模式;但是個人建議更多的時候,我們可以優(yōu)先考慮接口方式,畢竟 單繼承,多實現(xiàn) 設(shè)計模式分為三種類型,共23種 創(chuàng)建型模式:單例模式、工廠模式、抽

    2024年02月13日
    瀏覽(28)
  • 設(shè)計模式(三):抽象工廠模式

    設(shè)計模式(三):抽象工廠模式

    抽象工廠模式 (Abstract Factory Pattern)屬于創(chuàng)建型模式,是圍繞一個超級工廠創(chuàng)建其他工廠。該超級工廠又稱為其他工廠的工廠。 在 抽象工廠模式 中,接口是負責創(chuàng)建一個相關(guān)對象的工廠,不需要顯式指定它們的類。每個生成的工廠都能按照工廠模式提供對象。 通過使用 抽

    2024年04月25日
    瀏覽(23)
  • 重溫設(shè)計模式 --- 抽象工廠模式

    抽象工廠模式 一種創(chuàng)建型設(shè)計模式,它提供了一種方式來封裝一組具有相同主題的工廠,而不必指定它們具體的類。這樣,客戶端代碼就可以使用抽象工廠來創(chuàng)建一組相關(guān)的對象,而不必關(guān)心實際創(chuàng)建的具體類。 抽象工廠模式有以下幾個主要角色: 抽象工廠(AbstractFactory)

    2024年02月13日
    瀏覽(36)
  • 設(shè)計模式(3)抽象工廠模式

    設(shè)計模式(3)抽象工廠模式

    一、介紹: 1、定義:提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無須指定它們具體的類。 2、組成結(jié)構(gòu): (1)抽象工廠角色:擔任這個角色的是工廠方法模式的核心,它是與應用程序無關(guān)的。任何在模式中創(chuàng)建對象的工廠類必須實現(xiàn)這個接口。 (2)具體工廠角色

    2024年02月11日
    瀏覽(23)
  • 【設(shè)計模式專題之抽象工廠模式】3. 家具工廠

    題目描述 小明家新開了兩個工廠用來生產(chǎn)家具,一個生產(chǎn)現(xiàn)代風格的沙發(fā)和椅子,一個生產(chǎn)古典風格的沙發(fā)和椅子,現(xiàn)在工廠收到了一筆訂單,請你幫他設(shè)計一個系統(tǒng),描述訂單需要生產(chǎn)家具的信息。 輸入描述 輸入的第一行是一個整數(shù) N(1 ≤ N ≤ 100),表示訂單的數(shù)量。

    2024年03月12日
    瀏覽(31)
  • 結(jié)構(gòu)型設(shè)計模式-單例模式/工廠模式/抽象工廠

    創(chuàng)建型設(shè)計模式-單例模式/工廠模式/抽象工廠 行為型設(shè)計模式:模板設(shè)計模式/觀察者設(shè)計模式/策略設(shè)計模式 C#反射機制實現(xiàn)開閉原則的簡單工廠模式 設(shè)計模式可以分為三種類型: 創(chuàng)建型設(shè)計模式、結(jié)構(gòu)型設(shè)計模式和行為型設(shè)計模式 。 創(chuàng)建型設(shè)計模式:這些模式涉及到 對

    2024年02月11日
    瀏覽(24)
  • 設(shè)計模式-創(chuàng)建型模式-抽象工廠模式

    設(shè)計模式-創(chuàng)建型模式-抽象工廠模式

    抽象工廠模式(Abstract Factory Pattern):提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無須指定它們具體的類。抽象工廠模式又稱為Kit模式,它是一種對象創(chuàng)建型模式。 由于工廠方法模式中的每個工廠只生產(chǎn)一類產(chǎn)品,可能會導致系統(tǒng)中存在大量的工廠類,勢必會增加系

    2024年02月22日
    瀏覽(28)
  • [設(shè)計模式]創(chuàng)建型模式-抽象工廠模式

    抽象工廠模式是一種創(chuàng)建型設(shè)計模式,它提供了一種創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定它們具體的類。抽象工廠模式將一組具有共同主題的單個工廠封裝起來,它提供接口用于創(chuàng)建相關(guān)或依賴對象的家族,而不需要指定具體的類。 抽象工廠模式包含以下幾個

    2024年03月08日
    瀏覽(18)
  • 設(shè)計模式之抽象工廠模式筆記

    設(shè)計模式之抽象工廠模式筆記

    記錄下學習設(shè)計模式-抽象工廠模式的寫法。 意圖 :提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無須指定它們具體的類。 結(jié)構(gòu) : 其中: AbstractFactory聲明一個創(chuàng)建抽象產(chǎn)品對象的操作接口。 ConcreteFactory實現(xiàn)創(chuàng)建具體產(chǎn)品對象的操作。 AbstractProduct為一類產(chǎn)品對象聲明一

    2024年02月09日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包