簡體   English   中英

以下設計是抽象工廠嗎?

[英]Is the below design an abstract factory?

我有以下場景

  1. 方法采用車輛類型對象並返回以下內容

    一個。 公路車輛b。 水車c。 飛行的車輛。

  2. 另一種方法從1返回對象並提供更具體的對象。 如果“道路車輛退回”,那么此方法將返回汽車,公共汽車等。

我可以說這是抽象工廠模式的一個例子嗎? 因為在步驟1中,我得到了一個可能的工廠,並且在步驟2中,它更具特定的對象。

問候

你不是先創建一個具體的工廠,所以我不認為這是抽象工廠的代表。 因此,你有一個具體的工廠方法。

在這種情況下,您有一個工廠方法。

不,你不是一個抽象工廠,它更像是一個工廠方法模式

抽象工廠

Abstract Factory提供了用於創建一系列相關對象的接口,而無需顯式指定其類。

像這樣的東西就是抽象工廠

interface CarSparePartFactory{
    public SparkPlug createSparkPlug();
    public Wheel createWheel();

}

interface SparkPlug{

}

interface Wheel{

}

在這里,您將使用界面創建一組相關對象。

有關抽象工廠的更多信息:

事實並非如此。 抽象工廠應該自己確定要創建的對象的類型。 它不應該是客戶端發送的參數。 否則,抽象工廠的主要目的(“提供用於創建相關或依賴對象族的接口而不指定其具體類。”)不滿足。

有關詳情,請訪問http://en.wikipedia.org/wiki/Abstract_factory_pattern

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM