簡單工廠模式

2021-08-03 13:58:59 字數 1402 閱讀 2413

簡單工廠模式:

簡單工廠模式主要通過定義乙個工廠類來例項化其他的,而這些其他類通常繼承自同乙個父類。

簡單工廠模式組成:

簡單工廠模式主要有三部分組成:

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...