JAVA設計模式之二抽象工廠

2021-07-13 13:00:44 字數 874 閱讀 2904

首先還是搭建工廠介面:

public inte***ce factoryinter
接著是兩個實現:
public class bmwproduce implements factoryinter

}

public class audiproduce implements factoryinter

}

然後提供乙個新的介面,用於滿足新的需求,這裡就不去修改原有的工廠介面了。

public inte***ce ca***ctoryinter

接著是兩個工廠類:

public class bmwfactory implements ca***ctoryinter

}

public class audifactory implements ca***ctoryinter

}

最後是測試:

public class testabstractfactory 

}

得到的結果是:

我生產的是奧迪車

總結:這個抽象工廠看起來有點多此一舉,為了新的方法而再去建立乙個介面來實現。但在實際專案中這樣做才符合了閉包原則,最簡單的,最簡單,兩種車都需要上色,但是車型不同上色需要的材料以及方式都不一樣,這時候就需要修改一下新的工廠類方法即可,就不用去修改之前的**結構了。當然總歸還是得根據實際專案需求進行吧,但鑑於可拓展性還是建議使用抽象工廠,雖然他看起來不是那麼好理解。

java設計模式之二工廠模式

工廠模式主要用一下幾種形態 1 簡單工廠 factory 2 工廠方法 factory method 3 抽象工廠 abstract factory 又叫靜態工廠,是工廠模式三中狀態中結構最為簡單的。主要有乙個靜態方法,用來接受引數,並根據引數來決定返回實現同一介面的不同類的例項。我們來看乙個具體的...

java設計模式(二) 抽象工廠模式

例子背景 隨著客戶的要求越來越高,寶馬車需要不同配置的空調和發動機等配件。於是這個工廠開始生產空調和發動機,用來組裝汽車。這時候工廠有兩個系列的產品 空調和發動機。寶馬320系列配置a型號空調和a型號發動機,寶馬230系列配置b型號空調和b型號發動機。概念 抽象工廠模式是工廠方法模式的公升級版本,他...

java設計模式(二) 抽象工廠模式

1.抽象產品介面 定義產品的介面,公共的暴露方法。便於實際的產品類實現。2.具體的產品類 包含實際產品的類的邏輯處理 3.抽象工廠介面 定義產生系列物件的介面 4.具體的工廠實現 實現抽象的介面工廠,返回具體的產品類的實現。下面是具體的 示例 package factory.抽象產品角色 交通工具介...