設計模式之工廠模式

2021-08-14 09:44:30 字數 2205 閱讀 5041

**

定義

define an inte***ce for creating an object,but let subclasses decide which class to instantiate

(定義乙個用於建立物件的介面,讓之類決定例項化哪乙個類,工廠方法使乙個類的例項化延遲到其子類。)

通用**

產品抽象類product.class

public

abstract

class product

public

abstract

void

method2();

}

具體產品類concretrproduct.class

public

class

concreteproduct

extends

product

}

創造抽象類creator.class

public

abstract

class creator

創造工廠類

public

class

concretecreator

extends

creatorcatch (exception e)

return (t) product;}}

工廠模式優點經典例項,女媧造人

首先建立乙個人類的總稱介面類human.class,方便後期的人種類繼承其共性

public

inte***ce human

隨後建立人種類blackhuman.class,yellowhuman.class,whitehuman.class

public

class

blackhuman

implements

human

@override

public

void

talk()

}public

class

yellowhuman

implements

human

@override

public

void

talk()

}public

class

whitehuman

implements

human

@override

public

void

talk()

}

人種類建立好之後,我們在建立製作的抽象工具

public

abstract

class abstracthumanfactory

之後,我們建乙個工廠,利用這個工具來生產人類

public

class

humanfactory

extends

abstracthumanfactory catch (exception e)

return (t) human;}}

最後,萬事俱備只欠東風了,這女媧來到了工廠中,利用工具開始造人了

public

class nvwa ;

//通過foreach快速遍歷製造各種人類

for (class c:classes) }}

女媧進去有一段時間了,這我們來看看女媧造人的結果如何

女媧已經造化人了,你也來造造試試

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

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

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

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

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

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