該模式我們以計算器的計數演算法為例子:
同樣,如果我們不知道設計模式的話,我們要寫乙個加減乘除的計算器我們要怎麼做?當然,這很簡單
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三種不同的人訪問工廠來返回不同的結果。首先建立介面類,提供所有示...