工廠方法模式

2021-07-25 09:21:23 字數 1196 閱讀 1461

工廠方法模式同樣屬於類的建立型模式,又被稱為多型工廠模式。

工廠方法模式的意義是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到子類當中。

核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的藉口,這樣進一步抽象化的好處是

使得工廠方法模式可以使系統不在修改具體工廠角色的情況下引進新的產品。

模式中包含的角色及職責

抽象工廠角色(creator)角色。工廠方法模式的核心,任何工廠類都必須實現這個介面

具體工廠角色(concrete creator)角色。具體工廠類是抽象工廠的乙個實現,負責例項化產品物件

抽象產品(product)角色。工廠方法模式所建立的所有物件的父類,它負責描述所有例項所共有的公共介面。

具體產品(concreate creator)角色。工廠方法模式所建立的具體例項物件

/**

* 抽象工廠,任何工廠類都必須實現這個介面

*@author sweiit

* */

public

inte***ce

fruitsfactory

/**

* 具體工廠角色,具體生產某一類產品的工廠,必須實現抽象工廠類

*@author sweiit

* */

public

class

implements

fruitsfactory

}

/**

* 抽象產品角色,它負責描述所有例項所共有的公共介面

*@author sweiit

* */

public

inte***ce

fruits

/**

* 具體產品類

*@author sweiit

* */

public

class

implements

fruits

}

public

class test

}

如果我們再新增乙個banana產品,那麼只用新增乙個banana具體物件和乙個bananafactory具體工廠物件,不需要對原來工廠進行修改,產品與產品之間也不會有任何的影響。

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

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

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

工廠方法模式是對簡單工廠的進一步抽象和封裝,需要新的類物件時不需要對既有工廠類進行修改,而是增加新的工廠類。工程類可以使用模版進一步封裝,由編譯器來生成 從而減少 編寫工作量。工廠方法的 c 實現01part產品抽象基類class animal virtual void show 0 02part產...

工廠方法模式(一) 簡單工廠方法模式

ps 第二篇學習部落格,堅持就是勝利。繼續設計模式的學習,記錄工廠模式,加深自己的理解。基本結構 abstractproduct 用來定義基本的商品的抽象 public abstract class abstractphoneproduct 用來實現抽象商品,生成各種商品 public class ...