簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項,然後去呼叫不同的型別的方法的一種設計模式。通常用在多個不同型別的呼叫者,返回相同型別的結果的場景下。如根據不同的人返回不同的許可權等。如本例通過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...