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

2021-07-22 20:05:34 字數 1470 閱讀 2207

簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項,然後去呼叫不同的型別的方法的一種設計模式。通常用在多個不同型別的呼叫者,返回相同型別的結果的場景下。如根據不同的人返回不同的許可權等。如本例通過coder、geek、hacker三種不同的人訪問工廠來返回不同的結果。

首先建立介面類,提供所有示例擁有的方法

public inte***ce ******factory elseif(factorysymbol.geek.getsymbol().equals(type))else(factorysymbol.hacker.getsymbol().equals(type)){

returnnew hacker();

public enum factorysymbol {

coder("coder","coder"),geek("geek","geek"),hacker("hacker","hacker");

privatestring symbol;

privatestring description;

privatefactorysymbol(string symbol, string description) {

this.symbol= symbol;

this.description= description;

publicstring getsymbol() {

returnsymbol;

publicvoid setsymbol(string symbol) {

this.symbol= symbol;

publicstring getdescription() {

returndescription;

publicvoid setdescription(string description) {

this.description= description;

接下來我們來測試

public class factorytest {

publicstatic void main(string args) {

factorymanagerfm = new factorymanager();

******factorysf = fm.getkey("coder");

stringkey = sf.getkey();

system.out.println(key);

通過傳入coder型別給工廠方法,建立了乙個coder的例項,呼叫coder的getkey方法,執行結果如下:

簡單工廠模式的優點:

**的復用性高,如果有新的型別產生,只需要在工廠類中新增相應的型別的例項建立就行,不需要改動原有的**。

簡單工廠模式的缺點:

需要的新的例項就需要修改工廠類,如果例項非常多的時候,工廠類建立例項的**會非常多,不易於維護。

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

設計模式之簡單工廠舉例 l 簡單工廠模式概述 又叫靜態工廠方法模式,它定義乙個具體的工廠類負責建立一些類的例項 l 優點 客戶端不需要在負責物件的建立,從而明確了各個類的職責 l 缺點 這個靜態工廠類負責所有物件的建立,如果有新的物件增加,或者某些物件的建立方式不同,就需要不斷的修改工廠類,不利於後...

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

簡單工廠模式是類的建模式,又叫做靜態工廠方法 static factory method 模式。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項。看到這句話相信大家就能理解一點了,就是一些相似的類,通過乙個工廠類給提取出來,這樣再用的時候,可以通過傳入不同的引數,就能獲取相應的類的例項。舉乙...

《JAVA設計模式》之簡單工廠模式

其實對於簡單工廠模式的uml的圖結構如下圖所示 其實我們遇到的情況抽象到具體往往都會不止一層,而是多層,其實這個也是和上面uml圖中情況如法炮製,理解了上面這個,這個就不成問題了。下面我們就來舉例介紹介紹簡單工廠模式的實現。我們可以舉個例子,就以下面的uml圖中來寫 了 結構如下 介面 public...