java設計模式 工廠設計模式

2021-09-11 15:16:32 字數 3023 閱讀 5436

工廠模式分為簡單工廠、工廠方法、抽象工廠模式

工廠模式是我們最常用的例項化物件模式了,是用工廠方法代替new操作的一種模式。利用工廠模式可以降低程式的耦合性,為後期的維護修改提供了很大的便利。將選擇實現類、建立物件統一管理和控制。從而將呼叫者跟我們的實現類解耦

簡單工廠模式相當於是乙個工廠中有各種產品,建立在乙個類中,客戶無需知道具體產品的名稱,只需要知道產品類所對應的引數即可。但是工廠的職責過重,而且當型別過多時不利於系統的擴充套件維護。

簡單案例:

publicinte***cecar

publicclassaodi

implementscar

}publicclassjili

implementscar

}publicclassca***ctory

if(

name

.equals("

奧迪"))if(

name

.equals("

吉利"))returnnull;

} }publicclassrunmain  }

優點:簡單工廠模式能夠根據外界給定的資訊,決定究竟應該建立哪個具體類的物件。明確區分了各自的職責和權力,有利於整個軟體體系結構的優化。

缺點:很明顯工廠類集中了所有例項的建立邏輯,容易違反graspr的高內聚的責任分配原則

工廠方法模式factory method,又稱多型性工廠模式。在工廠方法模式中,核心的工廠類不再負責所有的產品的建立,而是將具體建立的工作交給子類去做。該核心類成為乙個抽象工廠角色,僅負責給出具體工廠子類必須實現的介面,而不接觸哪乙個產品類應當被例項化這種細節。

抽象工廠簡單地說是工廠的工廠,抽象工廠可以建立具體工廠,由具體工廠來產生具體產品。

//發動機

publicinte***ceengine

classenginea

implementsengine

publicvoidstart() }

classengineb

implementsengine

publicvoidstart() //

座椅publicinte***cechair

classchaira

implementschair }

classchairb

implementschair }

publicinte***ceca***ctory

publicclassjilifactory

implementsca***ctory 

publicchair createchair() }

publicclassclient002 }

簡單工廠 : 用來生產同一等級結構中的任意產品。(不支援拓展增加產品)

工廠方法 :用來生產同一等級結構中的固定產品。(支援拓展增加產品)   

抽象工廠 :用來生產不同產品族的全部產品。(不支援拓展增加產品;支援增加產品族)

Java設計模式 工廠設計模式

工廠模式 主要用來例項化有共同介面的類,工廠模式可以動態決定應該例項化那乙個類。工廠模式的形態 工廠模式主要用一下幾種形態 1 簡單工廠 factory 2 工廠方法 factory method 3 抽象工廠 abstract factory 簡單工廠 factory 又叫靜態工廠 是工廠模式三中...

Java設計模式 工廠設計模式

工廠設計模式分為以下三種 簡單工廠模式 工廠方法模式 抽象工廠模式 現在我想買一台電腦,有兩款可以選擇,一款是dell,另一款是hp.現在對於這個問題用一般的思路來解決就是 inte ce computer class dellcomputer implements computer class h...

java設計模式 工廠模式

工廠模式 存在的目的 定義乙個用於建立複雜類的物件的介面。使用工廠模式,降低了類與類之間的耦合關係。分為三種實現方式 類之間的繼承結構不同 簡單工廠模式 工廠方法模式 抽象工廠模式。主要涉及的三種類 呼叫工廠的類,工廠類,產品類。先看乙個不適用工廠模式的類組織 class bmw32 class b...