**
定義
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...