設計模式之工廠模式

2021-07-07 08:44:40 字數 1428 閱讀 2980

一、定義:定義乙個用於建立物件的介面,讓子類來決定例項化哪乙個類。

二、實現方式:

2.1 抽象工廠類
public

abstract

class abstractcupfactory

2.2 產品介面
public

inte***ce icup

2.3 具體產品
public

class

watercup

implements

icup

}

public

class

winecup

implements

icup

}

public

class

teacup

implements

icup

}

2.4產品工廠

使用了泛型這種資料型別,在下面這個例子中是 t 是一種icup的具體實現類,將t.class作為引數傳入

createcup,然後該函式就會利用反射產生乙個t的例項,然後返回。

public

class

cupfactory

extends

abstractcupfactory catch (instantiationexception e) catch (illegalacces***ception e) catch (classnotfoundexception e)

return (t) cup ;

}}

三、工廠模式的好處

代替了new進行類的例項化,這樣如果要修改類的例項化的時候,就只需要修改工廠就行了,而不用去修改每乙個new

的**。

四、工廠模式的擴充套件

4.1簡單工廠模式,不例項化工廠,將工廠中的create函式設定成static。

public

class

cupfactory

extends

abstractcupfactory catch (instantiationexception e) catch (illegalacces***ception e) catch (classnotfoundexception e)

return (t) cup ;

}}

4.2 多工廠模式,對於每乙個產品,都生成乙個相應的工廠來控制例項化,這樣可以使產品的初始化更多樣

設計模式 設計模式之工廠模式

工廠方法模式 建立模式 使用場景?作用?形態?場景 大量類似的實體類 要建立的實體類都是同一本質的東西 披薩 有部分類似功能 準備 烘烤 切法 實現方式不一樣 準備的材料不同 烘烤時間不同 切法不同 將繁瑣複雜的建立類的過程聚集在一起,有序清晰 把具體例項化的過程從客戶 中抽離 作用 1 將建立物件...

c 設計模式 之 工廠模式之 工廠模式

1 uml類圖 實現和依賴關係 實現 sportfactory jeepfactory hatchbackfactory 實現 ifactory 介面 sportcar jeepcar hatchbackcar 實現 icar 介面 依賴 ifactory 依賴 icar sportfactory ...

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

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