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

2021-07-31 04:56:42 字數 1705 閱讀 2179

其實對於簡單工廠模式的uml的圖結構如下圖所示:

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

我們可以舉個例子,就以下面的uml圖中來寫**了

結構如下:

介面:

public

inte***ce fruits

蘋果類:

public

class

implements

fruits

}

梨子類:

public

class

pear

implements

fruits

}

橙子類:

public

class

orange

implements

fruits

}

工廠類:

public

class fruitsfactory

else

if(type.equals(

"pear"))

else

if(type.equals(

"orange")) else }}

測試類:

public

class testdemo

if(pear!=null)

if(orange!=null)

if(f1!=null) }}

執行效果:

簡單工廠模式的優點:

工廠類是整個模式的關鍵所在。它包含必要的判斷邏輯,能夠根據外界給定的資訊,決定究竟應該建立哪個具體類的物件。使用者在使用時可以直接根據工廠類去建立所需的例項,而無需了解這些物件是如何建立以及如何組織的。有利於整個軟體體系結構的優化。

簡單共產模式的缺點:

由於工廠類集中了所有例項的建立邏輯,這就直接導致一旦這個工廠出了問題,所有的客戶端都會受到牽連;而且由於簡單工廠模式的產品室基於乙個共同的抽象類或者介面,這樣一來,但產品的種類增加的時候,即有不同的產品介面或者抽象類的時候,工廠類就需要判斷何時建立何種種類的產品,這就和建立何種種類產品的產品相互混淆在了一起,違背了單一職責,導致系統喪失靈活性和可維護性。而且更重要的是,簡單工廠模式違背了」開放封閉原則」,就是違背了」系統對擴充套件開放,對修改關閉」的原則,因為當我新增加乙個產品的時候必須修改工廠類,相應的工廠類就需要重新編譯一遍。

end!!!!!!!!!!!!!!!!!!!!

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

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

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

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

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

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