Java設計模式 抽象工廠模式

2021-07-30 17:45:11 字數 1431 閱讀 2001

抽象工廠模式可以向客戶端提供乙個介面,使得客戶端在不必指定產品具體型別的情況下,建立多個產品族中的產品物件。這就是抽象工廠模式的用意。

每個模式都是針對一定問題的解決方案。抽象工廠模式面對的問題是多產品等級結構的系統設計。

在學習抽象工廠具體例項之前,應該明白兩個重要的概念:產品族和產品等級。

產品族:是指位於不同產品等級結構中,功能相關聯的產品組成的家族。比如amd的cpu和adm晶元的主機板,組成乙個家族。intel的cpu和intel晶元的主機板,又組成乙個家族。而這兩個家族都來自於兩個產品等級:cpu,主機板。乙個等級結構是由相同的結構的產品組成,示意圖如下:

下面以乙個**來說明抽象工廠模式:

1.抽象工廠:

package abstractfactory;

public inte***ce abstractfactory

2.具體工廠

package abstractfactory;

public class factorya implements abstractfactory

public aircondition createaircondition()

}public class factoryb implements abstractfactory

public aircondition createaircondition()

}

3.抽象產品

package abstractfactory;

public inte***ce engine

public inte***ce aircondition

4.具體產品

package abstractfactory;

public class enginea implements engine

}public class engineb implements engine

}public class airconditiona implements aircondition

}public class airconditionb implements aircondition

}

5.測試類

package abstractfactory;

public class test

}

6.測試結果:

生產-->enginea

生產-->ariconditona

生產-->engineb

生產-->airconditionb

java設計模式 抽象工廠模式

1.概念 設計模式 一書中對於抽象工廠模式是這樣定義的 提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。產品 plant介面 public inte ce plant 標誌介面 具體產品planta,plantb public class planta implements pl...

JAVA設計模式 抽象工廠模式

目錄 一 什麼是抽象工廠模式 二 模式中包含的角色及其職責 三 抽象工廠模式的優缺點 抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的。抽象工廠模式可以向客戶端提供乙個介面,使得客戶端在不必指定產品的具體型別的情況下,能夠建立多個產品族的產品物件。抽象工廠 factory 角色 抽象工廠模式...

JAVA設計模式 抽象工廠模式

抽象工廠模式 abstact factory pattern 也是建立型模式之一 之前主要介紹了工廠方法模式 抽象工廠模式和工廠方法模式稍有區別 工廠方法模式中工廠類生產出來的產品都是具體的 也就是說每個工廠都會生產某一種具體的產品 但是如果工廠類中所生產出來的產品是多種多樣的 工廠方法模式也就不再...