簡單工廠模式是屬於建立型模式,又叫做
靜態工廠方法(static factory method)模式,但不屬於23種gof設計模式之一。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的乙個特殊實現。(百科)
最大的優點是包含了必要的邏輯判斷,根據客戶端選擇條件動態例項化相關的類,對於客戶端來說去除了與具體產品的依賴。但是違背了開發——封閉原則。
定義了乙個建立物件的介面,但由子類
決定要例項化的類是哪乙個。工廠方法讓類把例項化推遲到子類。
所謂的決定並不是允許子類在執行時做決定,而是指在編寫建立者類時,不需知道建立的產品是哪一下,選擇了
哪個子類,就決定了實際建立的產品是什麼。
}class leifeng//方法;product類
public void wash()
public void buyrice()
//新增新方法處,簡單工廠是在switch的case出新增,都是要修改原來的類
}inte***ce ifactory//工廠,creator
class undergradute:leifeng//具體product
class undergraduatefactory:ifactory//具體工廠
}class volunteer:leifeng
class voluntee***ctory:ifactory
}//此處新增新的工廠、產品
}nice to meet you
簡單工廠模式與工廠方法模式
工廠模式是建立模式,主要是為建立物件提供過渡介面 以便將建立物件的具體過程遮蔽隔離起來,達到提高靈活性的目的。工廠模式在 深入淺出設計模式 和 大話設計模式 中分為三類 這三種模式從上到下逐步抽象,並且更具有一般性。我剛開始看著 大話設計模式 學習,抽象工廠還沒看到,所以這一篇就先記一下前兩種,後面...
簡單工廠模式與工廠方法模式
簡單工廠模式,以計算器為例,結構如圖 簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴。問題在於,如果增加乙個子功能,需要新增相應的子類外,還要修改原有的工廠類,增加case判斷,修改原有的類,這就違背了 開放 封...
簡單工廠與工廠方法模式
簡單工廠模式 由乙個工廠物件決定建立出哪一種產品類的例項。1.簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法模式,但不屬於23種gof設計模式之一。2.優點 工廠類是整個模式的關鍵.包含了必要的邏輯判斷,根據外界給定的資訊,決定究竟應該 建立哪個具體類的物件.通過使用工廠類,外界可以從直接建立具體...