簡單工廠與工廠方法

2021-05-22 12:04:48 字數 527 閱讀 6627

簡單工廠:把物件(統一介面)的建立封裝起來,而不去用了解物件所代表的真正的實現類及其初始化過程。我們只需要把引數傳遞給簡單工廠,工廠就會根據你的需要返回相應的產品物件。簡單工廠模式把所有的重心放到工廠類上,一旦向系統增加新的產品,就必須修改工廠類,不滿足開閉原則(對修改關閉,對擴充套件開放)。

***簡單工廠的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴。

工廠方法模式:定義了乙個用於建立物件的介面,讓子類決定例項化哪乙個類,工廠方法使乙個類的例項化延遲到其子類。

***工廠方法模式實現時,客戶端需要決定例項化哪乙個工廠來實現運算類,選擇判斷的問題還是存在的,也就是說,工廠方法把簡單工廠的內部邏輯判斷移到了客戶端**來進行,你想要加功能,本來是改工廠類的,而現在是修改客戶端。

以計算器的例子來說:

簡單工廠:

乙個運算類,四個類(加,減,乘,除),乙個工廠類。

工廠方法:乙個運算類,四個類(加,減,乘,除),四個子工廠類(加、減、乘、除法工廠類),乙個工廠類

簡單工廠與工廠方法

工廠方法模式與簡單工廠模式 工廠方法uml 物件導向中物件的建立很簡單,重要是建立物件的時機與方位。工廠系列的主要目的就是封裝物件的建立,這樣在client 端消除new 物件,而是使用工廠建立需要的 class 否則如果底層的 class 產生變化,還要修改本類,違反 ocp,也違反 srp所以使...

簡單工廠方法,工廠方法,抽象工廠方法

以大話設計模式計算器為例 簡單工廠方法是由具體執行功能類,工廠類,客戶端構成,工廠類有case語句,負責建立不同的類,客戶端呼叫工廠類裡面的工廠方法,工廠類的工廠方法根據客戶端傳進去的引數new相應的類的物件返回給客戶端,客戶端得到返回的物件用該物件初始化該物件的成員變數最後呼叫該物件的方法執行計算...

簡單工廠與工廠方法模式

簡單工廠模式 由乙個工廠物件決定建立出哪一種產品類的例項。1.簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法模式,但不屬於23種gof設計模式之一。2.優點 工廠類是整個模式的關鍵.包含了必要的邏輯判斷,根據外界給定的資訊,決定究竟應該 建立哪個具體類的物件.通過使用工廠類,外界可以從直接建立具體...