設計模式之工廠模式

2021-08-11 14:53:33 字數 1608 閱讀 9240

1、目的

寫這些內容只是為了自己加深印象,方便解決問題。在遇到問題的時候能多幾種思路。文章中加入的自己的理解可能有不到位的地方,或者錯誤的地方。當你讀到這篇部落格的時候希望能自己親自實踐一下。因為能力有限只寫一下自己的筆記,方便以後查閱。

2、自己對設計模式了解還不夠深入,需要更加深入的學習。對於複雜的類可以使用工廠模式,但是對於只需要new就能建立的類,直接new出來就好。工廠模適合建立複雜的類,讓子類自己決定建立哪一種工廠。

3、工廠模式第一步:

3.1建立乙個工廠介面
public

inte***ce animailfactory

3.2建立具體的子類實現工廠裡的方法
public

class

catimplements

animailfactory

}public

class

dogimplements

animailfactory

}public

class

fish

implements

animailfactory

}

3.3建立工廠的實現類
public

class factory

if (type.equals(

"dog"))else

if(type.equals(

"cat"))else

if (type.equals(

"fish"))

return

null;

}}

3.4通過傳遞資訊獲取實體類的物件
factory fac = new factory();

animailfactory dog = fac.createanimal("dog");

dog.call();

animailfactory cat = fac.createanimal("cat");

cat.call();

animailfactory fish = fac.createanimal("fish");

fish.call();

3.5驗證工廠類是否建立了子類
12-01

14:24:35.736

6714-6714/com

.test

.factory e/factory*****====: 這是工廠裡的一條狗

12-01

14:24:35.736

6714-6714/com

.test

.factory e/factory*****====: 這是工廠裡的乙隻貓

12-01

14:24:35.736

6714-6714/com

.test

.factory e/factory*****====: 這是工廠裡的一條魚

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

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

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

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

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

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