国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

抽象工廠模式(Abstract Factory)

mayaohua / 1252人閱讀

摘要:抽象工廠模式概念抽象工廠模式是工廠模式的升級,用來創(chuàng)建一組相關(guān)或相互依賴的對象。

抽象工廠模式

概念
抽象工廠模式是工廠模式的升級,用來創(chuàng)建一組相關(guān)或相互依賴的對象。

角色
1.抽象工廠角色
2.具體工廠角色
3.產(chǎn)品接口或抽象產(chǎn)品角色
4.具體產(chǎn)品角色

角色對應(yīng)關(guān)系
1.多個具體工廠繼承自抽象工廠;
2.多個具體產(chǎn)品繼承自抽象產(chǎn)品或?qū)崿F(xiàn)產(chǎn)品接口;
3.每個具體工廠可產(chǎn)生多個具體產(chǎn)品。

實現(xiàn)過程

   產(chǎn)品接口

    public interface Product1 {
    }

    public interface Product2 {
    }    
    具體產(chǎn)品類
    public class ProductA1 implements Product1 {

        public ProductA1(){
            System.out.println("Product : " + this.getClass().getSimpleName());
        }
    
    }
    
    public class ProductA2 implements Product2 {

        public ProductA2(){
            System.out.println("Product : " + this.getClass().getSimpleName());
        }
    
    }
    定義抽象工廠
    public abstract class AbstractFactory {

        public abstract Product1 create1();
    
        public abstract Product2 create2();
    }

    產(chǎn)生產(chǎn)品的具體工廠
    public class FactoryA extends AbstractFactory{

        @Override
        public Product1 create1() {
            return new ProductA1();
        }
    
        @Override
        public Product2 create2() {
            return new ProductA2();
        }
    }
    調(diào)用方法
     public static void main(String[] args) {
        AbstractFactory abstractFactory = new FactoryA();
        abstractFactory.create1();
        abstractFactory.create2();

    }
    輸出
    Product : ProductA1
    Product : ProductA2

抽象工廠與工廠方法
1.抽象工廠模式適用于改變產(chǎn)品系列,對產(chǎn)品系列的改變符合開閉原則;
2.工廠方法模式適用于改變產(chǎn)品類別。

源碼

https://github.com/Seasons20/DisignPattern.git

END

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/71109.html

相關(guān)文章

  • PHP設(shè)計模式(三)抽象工廠模式Abstract Factory

    摘要:支持增加任意產(chǎn)品抽象工廠用來生產(chǎn)不同產(chǎn)品族的全部產(chǎn)品。對于增加新的產(chǎn)品,無能為力支持增加產(chǎn)品族參考系列源地址系列目錄設(shè)計模式概述設(shè)計模式一簡單工廠模式設(shè)計模式二工廠方法模式設(shè)計模式三抽象工廠模式設(shè)計模式四單例模式 一、什么是抽象工廠模式 抽象工廠模式的用意為:給客戶端提供一個接口,可以創(chuàng)建多個產(chǎn)品族中的產(chǎn)品對象 ,而且使用抽象工廠模式還要滿足以下條件: 系統(tǒng)中有多個產(chǎn)品族,而系統(tǒng)一次...

    W_BinaryTree 評論0 收藏0
  • 工廠相關(guān)的設(shè)計模式之間的關(guān)系

    摘要:在標準的種設(shè)計模式中,與工廠相關(guān)的模式有種工廠方法模式和抽象工廠模式。在這里,要區(qū)分清楚的是工廠方法模式強調(diào)的是方法,而抽象工廠模式強調(diào)的是工廠,這是兩個相關(guān)但又不相同的概念,就像做飯和廚房的區(qū)別,一個是談動作,一個是談空間。 在標準的23種設(shè)計模式中,與工廠相關(guān)的模式有2種:工廠方法模式(Factory method pattern)和抽象工廠模式(Abstract factory ...

    aaron 評論0 收藏0
  • PHP設(shè)計模式(二)工廠方法模式Factory Method)

    摘要:對于這個問題,接下來的工廠方法模式可以解決這個問題。二工廠方法模式的優(yōu)點擁有良好的封裝性,代碼結(jié)構(gòu)清晰。參考系列源地址系列目錄設(shè)計模式概述設(shè)計模式一簡單工廠模式設(shè)計模式二工廠方法模式設(shè)計模式三抽象工廠模式設(shè)計模式四單例模式 簡單工廠簡述: 簡單工廠模式實現(xiàn)了產(chǎn)品類的代碼跟客戶端代碼分離,但會有一個問題,優(yōu)秀的代碼是符合開閉原則如果你要加一個C類產(chǎn)品,你就要修改工廠類里面的代碼,也就是說...

    zhjx922 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<