定義乙個用於建立物件的介面, 我們需要乙個物件例項的時候就可以通過呼叫介面的方法來獲取我們想要的物件例項。
首先, 最簡單的:
上面這個是最簡單的工廠, 看都能看出來雖然很簡單, 但是缺點很多, 所以一般開發似乎都不怎麼用。/**
* 簡單工廠介面, 可以返回例項
*/public inte***ce ******factory
/**
* 工廠實現類, 返回money例項
*/public class moneyfactoryimpl implements ******factory
}
public class money
public void setcountry(string country)
public string getvalue()
public void setvalue(string value)
@override
public string tostring()
}
//測試類
public class test
}
我覺得最簡單, 最好用的就是下面這種, 他可以臨時指定要例項化的類, 有點像去工廠, 就說錢, 它就給你錢, 如果你說人, 它就給你造人(不要亂想)。
首先當然還要定義乙個介面, 要面向介面程式設計才可以擴充套件, 復用嘛。工廠有很多實現, 只不過是一種想法而已, 這樣更容易集中管理, 比如說你的專案當中突然要建立money例項的時候要預設把country設定成中國, 那你需要做的就只是在工廠類裡給他設定下就可以了, 而不用整個專案去搜尋建立money類的**, 然後在每行**下給country設定成中國。 集中生產也容易集中管理。對於我們開發者來說非常省事。工廠模式也只是乙個思想, 如果要用到自己的程式上可以因情況不同, 而設計其他工廠類, 比如抽象工廠也不錯。spring使用ioc, 更智慧型, 就比如你想要錢, 這時候看手上就是錢, 你想要斧子, 手裡突然有了一把斧子,你不需要的時候也不用擔心, 自己就沒了。public inte***ce factory
//工廠實現類
public class factoryimplimplements factory catch (instantiationexception e) catch (illegalacces***ception e) catch (classnotfoundexception e)
return null; }}
//money類
public class money
public void setcountry(string country)
public string getvalue()
public void setvalue(string value)
@override
public string tostring()
}//person類
public class person
//測試類
public class test
}
上面這個工廠就比較靈活, 只要指定型別它就可以返回乙個物件, 也可以通過解析string字串來指定要建立的型別。用泛型來解決返回的型別問題。
Java工廠模式
工廠模式理解起來並不是很難 只要耐心看看 理解它的運作機理就好了。運用時就要看個人的靈活性了。工廠是用來生產東西,但是從程式的角度講就是 用乙個工廠類來生產出你所需要的物件,這個生產出的物件可以是任意形式的 包括人,動物,水果,植物等不一定是要 機械性的東西 這是它跟現實工廠的區別之一。產品是由工廠...
java工廠模式
1.定義介面類idaouser public inte ce idaouser 2.定義工廠類,此工廠類實現了兩個不同類的呼叫。public final class daouse ctory return null 3 介面的實現,實現了介面idaouser的方法 public class daou...
java工廠模式
工廠模式 主要用來例項化有共同介面的類,工廠模式可以動態決定應該例項化那乙個類。工廠模式的形態 工廠模式主要用一下幾種形態 1 簡單工廠 factory 2 工廠方法 factory method 3 抽象工廠 abstract factory 1 簡單工廠 factory 又叫靜態工廠 是工廠模式...