1、普通工廠模式:建立乙個工廠類,對實現同一介面的不同類,根據不同的類別例項化不同的物件。
介面類:
public inte***ce sender {
public void send();
public class printsend1implements sender{
public void send(){
system.out.println("這是工廠第乙個物品a");
public class printsend2implements sender{
public void send(){
system.out.println("這是工廠第乙個物品b");
工廠類:
public class factory{
public void factorytest(string factorytype){
swicth(factorytype){
case "1": return new printsend1();breack;
case "2": return new printsend2();breack;
default:println("輸入型別錯誤,請重新輸入");
測試類:
public static void main(string args){
factory factory=new factory();
sender sender=factory.factorytest("factorytype");
sender.send();
總結:通過factory工廠類獲取sender類子類的例項化。缺點如果再加入一種想要生產的物品,還是需要修改工廠類。
工廠類改進類:
public class factory1 implements factoryclass{
public void factorytest(string factorytype){
return new printsend1();
public class factory2 implements factoryclass{
public void factorytest(string factorytype){
return new printsend2();
另加乙個藉口類:
public inte***ce factoryclass{
public sender factorytest();
主方法:
public class test{
public static void main(string args){
factoryclass factoryclass=new factory2();
sender sender=factoryclass.factorytest();
sender.send();
總結:通過介面的實現,為每乙個工廠新增共同的方法。但每個工廠中的例項化物件不同。這樣的工廠類,就不存在新增新的物品改寫工廠類,只需新增新的工廠類就好了。
java中工廠模式理解
首先說說簡單工廠模式,我用現實中的汽車工廠舉例子,首先有個汽車類的介面叫做car,裡面有個開車的方法叫做drive 然後有個吉利車的類叫做jili,實現了car的介面,還有個奇瑞車的類叫做qirui,也實現了car的介面 因為都是車嘛,當然能開了 inte ce car class jili imp...
工廠模式理解
例如乙個基類pet有許多個子類,聲稱這個體系中的隨機物件,當這個體系不斷有新子類增加的時候,因為該繼承體系中已經存在了常規的基礎,所以就有可能出現問題 考慮一點,為每個子類增加靜態初始化器,但是問題是 靜態初始化器只能在類首先被載入的時候才能被呼叫,而生成器在其列表中如果沒有這個類,他就永遠不能被呼...
工廠模式理解
工廠模式是一種建立型的設計模式,所謂建立型設計模式,不是簡單的使用new方法 例項化物件,建立物件時在 由誰?建立什麼?何時?等方面,提高了設計的靈活性。比如,普通工廠模式 對實現同一介面的類進行例項建立。需求 定義乙個生產龍蝦的工廠,通過使用這個工廠能烹飪各種龍蝦。思路 定義乙個工廠類,去建立其他...