簡單工廠模式:
簡單工廠模式主要通過定義乙個工廠類來例項化其他的,而這些其他類通常繼承自同乙個父類。
簡單工廠模式組成:
簡單工廠模式主要有三部分組成:
1、工廠類:這是工廠模式的核心,用於建立其他類的例項。
2、抽閒類或介面:簡單工廠所例項化的所有類的父類。
3、具體類:抽象類或介面的子類用於實現具體的邏輯操作。
用乙個簡單的計算器作為例程**:
抽象類 operation
/* 抽象類 operation */
public
abstract
class operation
public
double
getnumberb()
public
void
setnumbera(double numbera)
public
void
sernumberb(double numberb)
/* 抽象方法 */
abstract
double getresult();
}
具體實現類 operationadd:
public
class
operationadd
extends
operation
}
public
class
operationdel
extends
operation
}
工廠類 factory:
public
class factry
return oper;}}
客戶端使用 cucl:
public
class cucl
uml類圖:
使用簡單工廠類,首先將計算方法和顯示分離,然後將計算例項在乙個工廠中實現。在增加新的運算時,不需要了解或修改以有的運算類,直接增加新的繼承自抽象類的運算方法,然後在工廠類的switch中增加乙個分支。
分析:
簡單工廠模式最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴。缺點在於增加新的演算法,需要增加新的演算法類的同時,還要向運算工廠類的方法裡加」case」的條件分支,違背了「對擴充套件開放,對修改封閉的原則」。
工廠模式 簡單工廠
簡單工廠其實並不是乙個設計模式,反而比較像一種程式設計習慣。我個人的這樣總結簡單工廠 建立乙個類,封裝建立物件的 故事 現在我要開一家披薩店,叫bbk 必敗客 披薩,賣很多種披薩 芝士披薩 榴蓮披薩等等,我有乙個orderpizza string type 方法,根據客戶傳來的type來提供不同的披...
工廠模式 簡單工廠
工廠 處理建立物件的細節。目的 將例項化具體類的 從應用中抽離,或者封裝起來,可以避免干擾應用的其他部分。簡單工廠 簡單工廠其實不是乙個設計模式,反而像一種程式設計習慣。產品實現 desc 產品a public inte ce a class a1 implements a override pub...
簡單工廠模式,工廠模式,抽象工廠模式
三種模式看了一天,記錄下自己的理解 headfirst,比薩店為例 1,簡單工廠模式 乙個具體的工廠類 pizzafactory 乙個抽象的產品類pizza,可以派生出多個具體的產品類 客戶 pizzastore類 工廠類 pizzafactory類關聯產品類pizza,工廠生產出不同型別的pizz...