Java實現工廠方法模式,以及對工廠方法模式的見解

2021-09-25 04:30:35 字數 1030 閱讀 2749

工廠方法模式和簡單工廠一樣是乙個很簡單易懂的模式,簡單工廠是傳入不同的引數來獲取想要的物件,工廠方法模式就是,一類或者乙個產品有乙個專門的工廠。

工廠方法模式的角色:

1. 抽象的產品介面

2. 抽象的工廠介面

3. 具體產品

4. 生產具體產品的工廠

下面上**,以生產汽車為例,我們要分別生產賓士汽車和大眾汽車:

汽車介面:

public inte***ce car
汽車工廠介面:

public inte***ce ca***ctory
賓士汽車和大眾汽車實現類:

public class benz implements car 

}

public class vw implements car 

}

賓士汽車工廠和大眾汽車工廠實現類:

public class benzfactory implements ca***ctory 

}

public class vwfactory implements ca***ctory 

}

測試**:

public class factorymethodtest 

}

測試結果:

我是賓士車,我以很快的速度在執行

我是大眾車,我以比較快的速度執行

工廠方法模式優點:

1. 體現單一職責原則,一種工廠只生產一種商品

2. 提現開閉原則,增加產品就要增加工廠,對修改關閉,對擴充套件開放

3. 迪公尺特原則,黎克特制替換,依賴倒置,都有體現,但是介面隔離還是沒有充足的體現

缺點:1. 雖然工廠方法模式是符合開閉原則的,但是同時也是它的缺點,因為如果有上千上萬個產品,會類**。

java工廠方法模式

在看下面講解之前,最好還是先看下筆者的簡單工廠模式,因為我的例子,是有聯絡的 目錄 工廠介面 工廠介面,抽象出工廠具體的公有方法 inte ce factory 工廠實現類 工廠實現類 class pianofactory implements factory class motorcyclefac...

工廠方法模式 工廠方法模式

工廠方法模式是簡單工廠模式的公升級版,簡單工廠模式不符合設計模式的原則 即 單一職責,開閉原則 優點 職責明確,擴充套件方便 缺點 需要建立多個工廠 實現步驟 1.將工廠通用方法抽取介面 例如 ifactory 2.將產品抽取介面 例如 icar 3.實現各種產品 例如 baomacar,benti...

Java設計模式 工廠方法

定義乙個用於建立物件的介面,factory method將乙個類的例項化延遲到了子類。工廠方法模式的功能 工廠方法的主要功能是讓父類在不知道具體實現的情況下,完成自身的功能呼叫,而具體的實現延遲到子類來實現。實現成抽象類 工廠方法的實現中,通常父類會是乙個抽象類,裡面包含建立所需物件的抽象方法,這些...