設計模式 簡單工廠模式

2021-07-25 05:35:48 字數 1270 閱讀 2921

簡單工廠模式(****** factory pattern)屬於類的創新型模式,又叫靜態工廠方法模式(static factorymethod pattern),是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。

此種模式的邏輯是,類例項物件的建立交給工廠。當我們需要指定型別的具體實現時,只要向工廠傳送乙個請求,工廠就會根據我們請求的不同建立不同的物件返回給我們。

public

abstract

class product

public

class

producta

extends

product

}public

class

productb

extends

product

}

public

class ******productfactory else

if (type == 2) else

}}

public

class factoryclient

}

以上就實現了簡單工廠的基本邏輯。

基於上面的**,現在由於業務拓展,需要新增一種產品,並且客戶端可以獲取到這種產品,我們需要做哪些調整呢?

解決的步驟如下:

新建乙個產品類productc,繼承product類。

修改******productfactory類,增加乙個判斷,當type為3時返回productc物件。

客戶端傳入指定的型別值。

以上步驟中,第二步顯然是太不靈活了,違反了開閉原則。

可以想的是jdbc獲取connection物件的時候。

客戶端要使用使用資料時,只需要和工廠進行互動即可,這就導致操作步驟得到極大的簡化,操作步驟按照順序依次為:註冊並載入資料庫驅動,一般使用class.forname();建立與資料庫的鏈結connection物件;建立sql語句物件preparedstatement(sql);提交sql語句,根據實際情況使用executequery()或者executeupdate();顯示相應的結果;關閉資料庫。

public connection getconnection()  

catch (exception e)

return conn;

}

設計模式 工廠模式(簡單工廠)

一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...

設計模式(簡單工廠模式 工廠模式 抽象工廠模式)

當邏輯較為簡單時,可以直接建立對應的類。如下 include using namespace std class class banana class pear intmain 通過此 可以發現,使用者直接與客戶接觸,違背了dip 依賴倒轉 原則,過於麻煩,所以引出簡單工廠模式。include us...

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

請用任意一種物件導向語言實現計算器控制台程式,要求輸入兩個數和運算符號,得到結果。operation運算類 public class operation set public double numberb set public virtual double getresult 加減乘除類 using...