工廠模式Factory

2021-10-02 19:43:51 字數 965 閱讀 9073

工廠:任何可以產生物件的方法或類。 提高**擴充套件性

1.簡單工廠:靈活產生乙個物件,工廠方法。

靈活產生一類的東西

舉例:建乙個工廠類,定義n個方法,每個方法返回乙個例項,這些方法型別相近,例如車(火車,汽車…)

工廠可以直接返回介面↓

首先我們定義乙個型別的介面,定義規範,定義具體交通工具類,並重寫介面中的方法為自己的方法,建立工廠類,生產物件,在主方法中根據不同的工廠呼叫不同的go方法達到不同的效果,其本質為多型。

2.抽象工廠:產生一系列的東西,相當於產品組。其實就是兩層繼承實現關係

首先定義乙個系列,均為抽象,被具體的類別實現,比如火鍋,有清湯的,麻辣的,鴛鴦的,這個均在火鍋類中定義不同的分支。而後抽象工廠返回了抽象的系列物件,每乙個抽象類又有具體的現實類,現實類中有不同的分支,這就是兩層多型,在主方法裡先獲得抽象系列的物件,然後在根據這個系列獲得對應的具體分支(清湯,麻辣,鴛鴦)。

我們先通過抽象工廠獲得某乙個抽象類別,比如車呢,還是火鍋呢,還是香菸呢的其中一種,然後在根據這個類別獲取下面不同的方法。

總結:

簡單工廠擴充套件單一產品較容易,新加工廠和商品,商品實現介面即可。

抽象商品新加系列較容易,新加產品族和工廠,產品族繼承抽象產品族即可,產品族裡在新增新的產品不靈活。

factory工廠模式

1.factory模式 兩個重要的功能 1 定義建立物件的介面,封裝了物件的建立 2 使得具體化類的工作延遲到了子類中。factory模式僅僅侷限於一類類 就是說product是一類,有乙個共同的基類 如果我們要為不同類的類提供 乙個物件建立的介面,那就要用abstractfactory了。我們經常...

工廠模式Factory

工廠方法模式完全符合設計模式原則,降低了物件之間的耦合度,而且,工廠方法模式依賴於抽象的架構,將例項化的任務交由了子類實現.比如你想要出門,每次出行你都要根據天氣情況選擇出行方式,如果下雨天,就開自己的私家車,如果晴天就出門坐公車。那麼這裡可以抽取出乙個基類出來。車的基類 public abstra...

Factory 工廠模式

工廠模式有3種。以下的示例 都省略了建構函式與析構函式。一 簡單工廠模式 簡單工廠模式就是只有乙個工廠,所有的產品都有該工廠生產。每一種產品都有乙個對應的type。當需要某種產品時,將該產品的type傳給工廠,然後工廠即會返回該產品。這樣意味著工廠內部必須針對type作判斷,也就是使用乙個switc...