工廠方法模式同樣屬于類的建立型模式又被稱 為多态工廠模式 。工廠方法模式的意義是定義一個建立
産品對象的工廠接口,将實際建立工作推遲到子類當中。 核心工廠類不再負責産品的建立,這樣核心類成為一個
抽象工廠角色,僅負責具體工廠子類必須實作的接口, 這樣進一步抽象化的好處是使得工廠方法模式可以使系 統在不修改具體工廠角色的情況下引進新的産品。
1.抽象工廠(creator)角色
工廠方法模式的核心,任何工廠類都必須實作這個接口。
2.具體工廠( concrete creator)角色
具體工廠類是抽象工廠的一個實作,負責執行個體化産品對象。
3.抽象(product)角色
工廠方法模式所建立的所有對象的父類,它負責描述所有執行個體所共有的公共接口。
4.具體産品(concrete product)角色
工廠方法模式所建立的具體執行個體對象
結構圖:

類圖uml:
fruit.java apple.java banana.java
fruitfactory.java applefactory .java bananafactory.java
現在我們來測試下:
運作可以看到下面的輸出:
這個模式的好下面我們來增加一種水果pear:
pearfactory.java pear.java
然後測試代碼如下:
測試輸出如下:
相關資料:
java 多态
結構上的不同不是很明顯。工廠方 法類的核心是一個抽象工廠類,而簡單工廠模式把核心放在一個具
體類上。工廠方法模式之是以有一個别名叫多态性工廠模式是因為具體工
廠類都有共同的接口,或者有共同的抽象父類。當系統擴充需要添加新的産品對象時,僅僅需要添加一個具體對
象以及一個具體工廠對象,原有工廠對象不需要進行任何修改,也 不需要修改客