工廠模式屬於設計模式的建立型模式,通過實現共同的抽象介面建立屬於同一類型別的不同物件實現,隱藏了物件建立的邏輯,提供了一種建立物件的最佳方式。
優點:
1、遮蔽產品物件的具體實現,使呼叫者只關注介面。
2、擴充套件性高,如果需要增加產品,只需要新增工廠類就可以,無需修改源**。
3、通過名字就可以建立想要的物件。
缺點:
擴充套件性高,但每增加乙個產品類就要增加乙個具體的產品類和工廠類,系統中的類成倍增加,增加了類的複雜度。
工廠類主要應用在日誌記錄器,資料訪問等
1、可以根據系統具體需求,建立儲存在本地磁碟,遠端伺服器或系統事件等日誌物件實現不同功能。
2、資料庫訪問,如hibernate可根據不同的配置訪問不同資料庫。
抽象產品類介面:
package com.factorypattern;
public
inte***ce shape
具體產品實現類:
//circle類
package com.factorypattern;
public
class
circle
implements
shape
}
//rectangle類
package com.factorypattern;
public
class
rectangle
implements
shape
}
工廠類:
package com.factorypattern;
public
class shapefactory
}
呼叫例項類:
package com.factorypattern;
public
class
factorypatterndemo
}
設計模式 設計模式之工廠模式
工廠方法模式 建立模式 使用場景?作用?形態?場景 大量類似的實體類 要建立的實體類都是同一本質的東西 披薩 有部分類似功能 準備 烘烤 切法 實現方式不一樣 準備的材料不同 烘烤時間不同 切法不同 將繁瑣複雜的建立類的過程聚集在一起,有序清晰 把具體例項化的過程從客戶 中抽離 作用 1 將建立物件...
c 設計模式 之 工廠模式之 工廠模式
1 uml類圖 實現和依賴關係 實現 sportfactory jeepfactory hatchbackfactory 實現 ifactory 介面 sportcar jeepcar hatchbackcar 實現 icar 介面 依賴 ifactory 依賴 icar sportfactory ...
設計模式 工廠模式之簡單工廠模式
定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...