1.首先需要乙個介面
public interface human{
public void say();
2.需要多個實現類
public man implements human{
public void say(){
system.out.println("我是乙個man」);
public woman implements human{
public static void say(){
system.out.println("我是乙個woman」);
}3.建立工廠類實現
public humanfactory{
man man=new man();
woman wman=new woman();
public void main(string[] args){
if(type.equals("man」)){
man.say();
} woman.say();
工廠方法模式:也叫工廠模式,屬於類建立型模式,工廠父類(介面)負責定義產品物件的公共介面,而子類工廠則負責建立具體的產品物件。
目的:是為了把產品的例項化操作延遲到子類工廠中完成,通過工廠子類來決定究竟應該例項化哪乙個產品具體物件。
工廠方法模式包含四個部分:
1.抽象產品:產品物件同一的基類,或者是同一的介面。
2.具體的產品:各個不同的例項物件類
3.抽象工廠:所有的子類工廠類的基類,或是同一的介面
4.具體的工廠子類:負責每個不同的產品物件的實際建立
工廠模式主要是為建立物件提供過渡介面,以便將建立物件的具體過程遮蔽隔離起來,達到提高靈活性的目的。
工廠模式可以分為三類:
1)簡單工廠模式(****** factory)
2)工廠方法模式(factory method)
3)抽象工廠模式(abstract factory)
簡單理解抽象工廠模式
定義 抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的一種形態,當有多個抽象角色時,使用的一種工廠模式,它向客戶端提供乙個介面,使客戶端在不必指定產品的具體的情況下,建立多個產品族中的產品物件。注意 注意產品族的概念 是指位於不同產品等級結構中,功能相關聯的產品組成的家族。一般是位於不同的等...
簡單工廠和抽象工廠模式的理解
簡單工廠方法,舉例 有乙個資料訪問層的工廠類daofactory 介面 裡面有各種資料庫的實現,例如 oracledaofactory和mysqldaofactory,然後可以根據 你在客戶端的輸入或者某個配置檔案的資訊 oracle 或者 mysql 去建立屬於自己需要的那個資料庫實現 daofa...
簡單理解常用設計模式(六)工廠模式
這裡說說工廠模式,其實在筆者寫完 三 常用設計原則時,部分讀者已經發現簡單工廠的不妥了,因為在簡單工廠模式下,新增功能需要新增新功能類,並且要修改工廠類的case判斷,這樣就違反了開閉原則 可以拓展但不能修改原始碼。當然開閉原則不是絕對的,也可以根據實際開發場景來決定是不是遵循,但絕大多數情況下請遵...