簡單工廠與工廠方法

2021-07-04 10:51:04 字數 687 閱讀 2153

工廠方法模式與簡單工廠模式

工廠方法uml

物件導向中物件的建立很簡單,重要是建立物件的時機與方位。

工廠系列的主要目的就是封裝物件的建立,這樣在client

端消除new

物件,而是使用工廠建立需要的

class

,否則如果底層的

class

產生變化,還要修改本類,違反

ocp,也違反

srp所以使用工廠達到解耦。簡單工廠的話雖然可以根據外部引數來判斷物件的建立,將判斷分支也封裝。但是如果增加業務還是會需要在工廠內部建立物件的方法中增加新的判斷增加新的建立物件分支。也違反

ocp。而且外部建立物件使用靜態方法每次都要與工廠耦合,傳入條件。如果需要多個物件,那麼就要多次傳遞引數來使用工廠建立,**重複,而且一旦修改的話每句都要修改。工廠方法模式則是將物件的建立時機交給工廠的子類,雖然把物件的建立判斷返回給呼叫者了,但是可以建立對應的子類工廠物件,使用這個工廠多次呼叫,需要的物件不一樣了修改也只需修改工廠的型別乙個地方就行。而且重要的是增加新的業務物件不需要去修改工廠,直接增加對應的建立新物件的工廠,避免對原始碼的修改,但缺點也是增加了額外的類。其實就是這樣,避免修改單的同時無法避免增加類,但是這的確做到了

ocp。

簡單工廠與工廠方法

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

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

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

簡單工廠與工廠方法模式

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