c 設計模式 工廠方法模式

2021-10-07 10:32:35 字數 968 閱讀 3033

二 uml類圖

三 例子

四 與簡單工廠的區別

五 優缺點

六 使用場景

描述「怎樣建立物件」,它的主要特點是「將物件的建立與使用分離」。

定義乙個建立產品物件的工廠介面,將產品物件的實際建立工作推遲到具體子工廠類當中。這滿足建立型模式中所要求的「建立與使用相分離」的特點。

}工廠方法是對簡單工廠的進一步抽象, 簡單工廠是乙個工廠類管理了所有產品物件的建立, 而工廠方法則是把工廠抽象化, 在對應的子類工廠內建立對應的產品物件。

降低了產品類與客戶端**的耦合,克服了簡單工廠違背開放封閉的原則,每次新增產品, 只需要增加新的對應的產品工廠管理, 無需修改原有的工廠類。

每新增一種產品, 都要新增乙個對應的產品工廠類。

客戶只知道建立產品的工廠名,而不知道具體的產品名。

建立物件的任務由多個具體子工廠中的某乙個完成,而抽象工廠只提供建立產品的介面。

客戶不關心建立產品的細節,只關心產品的品牌。

C 設計模式 工廠方法模式

問題描述 之前講到了c 設計模式 簡單工廠模式,由於簡單工廠模式的侷限性,比如 工廠現在能生產producta productb和productc三種產品了,此時,需要增加生產productd產品 那麼,首先是不是需要在產品列舉型別中新增新的產品型別標識,然後,修改factory類中的switch結...

C 設計模式 工廠方法模式

問題描述 之前講到了c 設計模式 簡單工廠模式,由於簡單工廠模式的侷限性,比如 工廠現在能生產producta productb和productc三種產品了,此時,需要增加生產productd產品 那麼,首先是不是需要在產品列舉型別中新增新的產品型別標識,然後,修改factory類中的switch結...

C 設計模式 工廠方法模式

abstract class product class concreteproducta product class concreteproductb product abstract class factory class concreteafactory factory class concr...