設計模式之 簡單工廠模式

2021-09-22 07:19:15 字數 1227 閱讀 1704

最近在看一些關於設計模式方面的知識,打算把學習過程給記錄下來,進一步加深自己的理解。

從設計模式的型別上來說,簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法(staticfactory method)模式,但不屬於23種gof設計模式之一。簡單工廠模式是實由乙個工廠物件決定建立出哪一種產品類的例項。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的乙個特殊實現。

我們先觀察簡單工廠的uml類圖:

接著就是**實現了。

///

///產品父類

/// class

//////

子類重新的生產方法

/// ///

public

virtual

string

produce()

}

現在分別建立iphone、ipod、ipad、imac類

1

class29

}1011class

1219}20

21class

2229}30

31class

3239 }

現在是最重要的生產工廠類了

1

///2

///工廠類

3///

4class527

return

product;28}

29 }

執行**(控制台輸出)

1

class

program

211 }

執行效果:

總結:簡單工廠模式的好處在於當我們想要生產新的產品時只需要加乙個新產品的類繼承產品基類,重寫生產產品方法,呼叫時,工廠根據不同的引數(命令)來返回不同物件的例項,每個產品類都有不同的生產細節和生產方式,呼叫者不必關注生產產品的細節,只要知道要生產那個產品就行了。缺點就在於關鍵的工廠類,每增加一種新產品就需要修改工廠類的判斷邏輯,不適用複雜的生產環境。同時使用簡單工廠模式不利於系統的拓展,所以只能適用於一些比較簡單環境下使用。

晴天豬出處:

設計模式 工廠模式之簡單工廠模式

定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...

設計模式 工廠模式之簡單工廠

工廠模式可以分為 簡單工廠模式 普通工廠模式 靜態工廠模式 抽象工廠模式 簡單工廠模式 就是如何去例項化物件的問題,對於很容易變化的問題,應該考慮用乙個單獨的類來做這個創造例項的過程,這個單獨的類就是工廠 例子 通過簡單工廠建立各種圖形的實現過程 簡單工廠模式建立步驟 建立乙個介面 例 圖形介面 建...

設計模式 工廠模式之簡單工廠

我們常見的設計模式,大致可以分為三大類 建立型 結構性 行為型。工廠模式,屬於建立型。工廠模式到底起的是什麼作用呢?概括來說就是解耦。當某一類物件需要頻繁建立的時候,就會和程式產生比較大的耦合,在物件初始化屬性較多時,工廠模式可以較少這種耦合,這就是他的作用。一般情況下根據場景不同,工廠模式有幾種不...