設計模式 工廠設計模式

2021-09-27 00:24:33 字數 1822 閱讀 4917

用於建立物件的介面,交給子類去實現

我們舉乙個生產nokia的例子

public abstract class nokiaphone
先試定義了乙個抽象類,抽象出方法poweronphone(),模擬手機開機的動作

public class nokia5200 extends nokiaphone

}

public class nokian97 extends nokiaphone

}

然後我們定義了具體的手機nokia5200和nokian97兩款手機。並實現了抽象方法poweronphone

現在產品定義好了,我們就要定義工廠了,首先我們也抽象出工廠的方法

public abstract class factroy
工廠的方法無非就是生產手機,所以我們抽象出來了createnokia方法,現在我們來定義工廠

public class nokiafactory extends factroy catch (exception e)  

return (t) nokiaphone;

}}

使用

nokiafactory nokiafactory = new nokiafactory();

nokia5200 nokia5200 = nokiafactory.createnokia(nokia5200.class);

nokian97 nokian97 = nokiafactory.createnokia(nokian97.class);

抽象工廠我們舉例乙個生產iphone零件的例子。

我們先定義產品,這裡是生產零件,我們定義兩個抽象產品,乙個cpu

public inte***ce component

public inte***ce battery

}

然後我們定義cpu的具體產品,乙個a9,乙個a10

public class a9 implements component.cpu

}public class a10 implements component.cpu

}然後是兩種電池產品,乙個1000ma,乙個1200ma

public class battery1000ma implements component.battery

}public class battery1200ma implements component.battery

}

產品定義好了,我們來定義工廠了,依舊先用抽象類,抽象出工廠類的方法

public abstract class factory
工廠建立完了,改生產了

public class iphone6factory extends factory 

@override

public component.battery createbattery()

}public class iphone7factory extends factory

@override

public component.battery createbattery()

}

工廠模式降低了物件之間的耦合度,由於工廠模式依賴抽象的架構,例項化的任務交由子類去完成,所以有很好的擴充套件性。但是工廠模式的缺點也比較明顯,就是不太容易擴充套件新的產品類,需要去改具體的產品類和工廠類

設計模式 工廠設計模式

工廠模式分為工廠方法模式和抽象工廠模式 工廠方法模式分為 普通工廠模式,就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。多個工廠方法模式,是對普通工廠方法模式的改進,在普通工廠方法模式中,如果傳遞的字串出錯,則不能正確建立物件,而多個工廠方法模式是提供多個工廠方法,分別建立物件。靜態工廠...

設計模式 設計模式之工廠模式

工廠方法模式 建立模式 使用場景?作用?形態?場景 大量類似的實體類 要建立的實體類都是同一本質的東西 披薩 有部分類似功能 準備 烘烤 切法 實現方式不一樣 準備的材料不同 烘烤時間不同 切法不同 將繁瑣複雜的建立類的過程聚集在一起,有序清晰 把具體例項化的過程從客戶 中抽離 作用 1 將建立物件...

設計模式 工廠模式

主要有以下三種factory模式 factory模式 專門定義乙個類來負責建立其它類的例項,被建立的例項通常都具有共同的父類。factory method模式 將物件的建立交由父類中定義的乙個標準方法來完成,而不是其建構函式,究竟應該建立何種物件由具體的子類負責決定。abstract factory...