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

2021-08-19 19:20:04 字數 1765 閱讀 1291

該模式我們以計算器的計數演算法為例子:

同樣,如果我們不知道設計模式的話,我們要寫乙個加減乘除的計算器我們要怎麼做?當然,這很簡單

public static void main(string args) 

if ("-".equals(option))

if ("*".equals(option))

if ("/".equals(option))

system.out.println("結果:" + result);

}

可是呢,如果我們要增加計算器的演算法功能,比如說加個開根號的演算法,要怎麼做,再加個判斷條件嗎,這樣子的話就耦合度不高了。程式的設計原則不就是高內聚,低耦合嗎。以及物件導向的的三大特點:封裝、繼承、多型。

知道了這些之後,我們再看看用簡單工廠模式下,如何完成此操作:

/**

* 計算器類

* created by hdl on 2016/11/30.

*/public class optioner

public void setonumfirst(int onumfirst)

public int getonumsecond()

public void setonumsecond(int onumsecond)

public optioner()

public optioner(int onumfirst, int onumsecond)

public int getreuslt()

}

/**

* 加法運算

* created by hdl on 2016/11/30.

*/public class addoptioner extends optioner

}/**

* 減法運算

* created by hdl on 2016/11/30.

*/public class suboptioner extends optioner

}/**

* 乘法運算

* created by hdl on 2016/11/30.

*/public class muloptioner extends optioner

}/**

* 除法運算

* created by hdl on 2016/11/30.

*/public class divoptioner extends optioner else

}}

/**

* optioner工廠類

* created by hdl on 2016/11/30.

*/public class optione***ctory

return optioner;

}}

public static void main(string args)
對於新增開根號功能,直接增加開根號的類並繼承optioner類,在工廠類加上分支判斷即可,業務的增加不會影響檢視層的功能,大大降低了**之間的耦合性。簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法(static factory method)模式,但不屬於23種gof設計模式之一。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的乙個特殊實現。

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

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

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

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

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

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