常用設計模式總結--抽象工廠

Abstract Factory ,抽象工廠

抽象工廠是一種創建型方法,所謂工廠,顧名思義就是一個車間,裏面生產各種各樣的組件,既然是抽象的,對應到代碼裏面,就是定義一些抽象的方法,然後在集體的工廠裏面實現。

用傳統的製造業來舉例比較恰當,比如汽車製造業,現在的汽車製造業都已經集團化了,每家汽車製造商都有好多工廠,每個工廠用來生產某幾個具體型號的轎車。站在集團的角度,每個工廠都生產引擎,輪胎,然後拼裝成整車。

從軟件的角度抽象,引擎、輪胎都有統一的父類 element, 而每個工廠也有着統一的父類 VehicleFactory.

類圖如下


 

 抽象工廠類圖

 

來看具體的源代碼

 

1 Element.java

2 Engine.java

2.1 NormalEngine.java

2.2 RaceEngine.java

3 Wheel.java

3.1 NormalWheel.java


3.2 RaceWheel.java

 

4 Vehicle.java

4.1 NormalVehicle.java

4.2 RaceVehicle.java

5 VehicleFactory.java

5.1 NormalVehicleFactory.java

5.2 RaceVehicleFactory.java

 

6 測試程序

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章