設計模式之簡單工廠

2021-09-30 00:19:26 字數 1310 閱讀 1113

簡單工廠模式是一種建立型模式,可以叫做靜態工廠方法模式。雖然叫做模式,但是不屬於二十三種gof設計模式裡邊的。簡單工廠模式在大話設計模式中,用的是一種運算的小例子來實現的,我來說一下這個例子的基本操作。

首先第一段**是對輸入的數字有乙個地方儲存,並且可以讀寫,方便進行下一步的運算

/// /// 運算類

///

public class operation

set

}public double numberb

set

}}

接著是簡單工廠類,用switch來判斷用的是什麼符號,這裡可以加上乙個try  catch來防止輸入錯誤,然後從這裡建立乙個符合輸入符號的計算類。簡單來說,是用這個簡單工廠類來判斷建立哪個計算類。

/// /// 簡單工廠類

///

public class operationfactory

return oper;

}}

這段**是計算類其中的乙個。通過簡單工廠類調出,返回乙個具體值,然後列印在控制台上。

/// /// 加法類

///

class operationadd:operation

}

這最後給出客戶端**:

static void main(string args)

簡單工廠模式的核心就是乙個抽象的產品,可以派生出多個具體的產品類,他們都具有共同的父類。

簡單工廠模式的優點:

1、工廠類含有必要的判斷邏輯,可以決定在什麼時候建立哪乙個產品類的例項,客戶端可以免除直接建立產品物件的責任,而僅僅「消費」產品;

2、簡單工廠模式通過這種做法實現了對責任的分割,它提供了專門的工廠類用於建立物件。

3、客戶端無須知道所建立的具體產品類的類名,只需要知道具體產品類所對應的引數即可,對於一些複雜的類名,通過簡單工廠模式可以減少使用者的記憶量。

4、通過引入配置檔案,可以在不修改任何客戶端**的情況下更換和增加新的具體產品類,在一定程度上提高了系統的靈活性。

簡單工廠模式的缺點:

1、由於工廠類集中了所有產品建立邏輯,一旦不能正常工作,整個系統都要受到影響。

2、使用簡單工廠模式將會增加系統中類的個數,在一定程式上增加了系統的複雜度和理解難度。

3、系統擴充套件困難,一旦新增新產品就不得不修改工廠邏輯,在產品型別較多時,有可能造成工廠邏輯過於複雜,不利於系統的擴充套件和維護。

4、簡單工廠模式由於使用了靜態工廠方法,造成工廠角色無法形成基於繼承的等級結構。

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

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

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

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

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

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