我們來設想這樣乙個 場景,現實生活中,家庭都有一輛車,那麼這輛車是由誰生產的。顯然是汽車工廠。所以,我們就可以通過簡單工廠去編寫一套**。
定義介面可以防止耦合度。
public
inte***ce
car
benzcar實現car
public
class
benzcar
implements
car}
fortcar實現car
public
class
fortcar
implements
car}
我們通過properties載入配置檔案。動態建立汽車。
car=com.ncst.******factory.benzcar
public
class
ca***ctory
catch
(ioexception e)
}//汽車工廠對外暴露乙個建立汽車的方法。
public
static car newcar()
throws exception
}
public
class
family
public
void
goout()
throws exception
}
public
static
void
main
(string[
] args)
throws exception
通過汽車工廠,我們就可以解決family依賴具體的汽車。而反射會讓程式更加靈活。
最後,有乙個小知識點,通常,我們建立物件都是通過new,但是當乙個abstract類不想被外界通過new建立物件,可以在自身宣告乙個私有的繼承來,對外暴露乙個newinstance()方法。
public
abstract
class
person
public
void
setname
(string name)
public
abstract
void
learn()
;//對外暴露建立instance();
public
static person newinstance()
public
static
class
colleagestudent
extends
person
}}
類圖如下
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...
簡單工廠設計模式與工廠設計模式
工廠設計模式的目的 降低呼叫者和實現者之間的耦合度。當需求發生變化 增加或改變 時,不改變原有 的結構。1.簡單工廠設計模式 優點 降低了呼叫者和實現者之間的耦合度。當引入乙個新的實現型別時,只需要增加乙個實現類,然後修改工廠類即可。缺點 只適用於層次結構較為簡單的情況。如果可能的實現型別很多,工廠...
設計模式 簡單工廠設計模式
請用任意一種物件導向語言實現計算器控制台程式,要求輸入兩個數和運算符號,得到結果。operation運算類 public class operation set public double numberb set public virtual double getresult 加減乘除類 using...