設計模式 之工廠模式

2021-08-03 20:02:31 字數 1265 閱讀 9079

主要用來例項化有共同介面的類,工廠模式可以動態決定應該例項化那乙個類。

主要分為三類:簡單工廠、工廠方法、抽象工廠。

簡單工廠模式的工廠類一般是使用靜態方法,通過接收的引數的不同來返回不同的物件例項。

不修改**的話,是無法擴充套件的。

工廠角色(creator):這是簡單工廠模式的核心,由它負責建立所有的類的內部邏輯。當然工廠類必須能夠被外界呼叫,建立所需要的產品物件。

抽象(product)產品角色:簡單工廠模式所建立的所有物件的父類,注意,這裡的父類可以是介面也可以是抽象類,它負責描述所有例項所共有的公共介面。

具體產品(concrete product)角色:簡單工廠所建立的具體例項物件,這些具體的產品往往都擁有共同的父類。

**如下:

/**

* 客戶端

*/public

class

client catch (exception e) }}

/**

*@param 抽象產品

*/public

class

abstractproduct

/**

* 簡單工廠

* */

public

class

******factory

}

/**

* 產品類

* */

public

class

producta

extends

abstractproduct

}

工廠方法是針對每一種產品提供乙個工廠類。通過不同的工廠例項來建立不同的產品例項。

在同一等級結構中,支援增加任意產品。

抽象工廠是應對產品族概念的。比如說,每個汽車公司可能要同時生產轎車,貨車,客車,那麼每乙個工廠都要有建立轎車,貨車和客車的方法。

應對產品族概念而生,增加新的產品線很容易,但是無法增加新的產品。

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

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

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

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

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

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