摘要:抽象工廠模式概念抽象工廠模式是工廠模式的升級,用來創(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
摘要:支持增加任意產(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)一次...
摘要:在標準的種設(shè)計模式中,與工廠相關(guān)的模式有種工廠方法模式和抽象工廠模式。在這里,要區(qū)分清楚的是工廠方法模式強調(diào)的是方法,而抽象工廠模式強調(diào)的是工廠,這是兩個相關(guān)但又不相同的概念,就像做飯和廚房的區(qū)別,一個是談動作,一個是談空間。 在標準的23種設(shè)計模式中,與工廠相關(guān)的模式有2種:工廠方法模式(Factory method pattern)和抽象工廠模式(Abstract factory ...
摘要:對于這個問題,接下來的工廠方法模式可以解決這個問題。二工廠方法模式的優(yōu)點擁有良好的封裝性,代碼結(jié)構(gòu)清晰。參考系列源地址系列目錄設(shè)計模式概述設(shè)計模式一簡單工廠模式設(shè)計模式二工廠方法模式設(shè)計模式三抽象工廠模式設(shè)計模式四單例模式 簡單工廠簡述: 簡單工廠模式實現(xiàn)了產(chǎn)品類的代碼跟客戶端代碼分離,但會有一個問題,優(yōu)秀的代碼是符合開閉原則如果你要加一個C類產(chǎn)品,你就要修改工廠類里面的代碼,也就是說...
閱讀 2577·2021-10-25 09:45
閱讀 1239·2021-10-14 09:43
閱讀 2297·2021-09-22 15:23
閱讀 1519·2021-09-22 14:58
閱讀 1934·2019-08-30 15:54
閱讀 3539·2019-08-30 13:00
閱讀 1354·2019-08-29 18:44
閱讀 1571·2019-08-29 16:59