定義:
抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的一種形態,,當有多個抽象角色時,使用的一種工廠模式,它向客戶端提供乙個介面,使客戶端在不必指定產品的具體的情況下,建立多個產品族中的產品物件。
注意:注意產品族的概念:
是指位於不同產品等級結構中,功能相關聯的產品組成的家族。一般是位於不同的等級結構中的相同位置上。顯然,每乙個產品族中含有產品的數目,與產品等級結構的數目是相等的,形成乙個二維的座標系,水平座標是產品等級結構,縱座標是產品族。叫做相圖。
詳細參考:
示例:某人喜歡做什麼
示例中有兩個產品族,那我們首先得為這兩個產品族建立相應的工廠,
某人喜歡
public inte***ce familyperson
種什麼(以水果為例)
public inte***ce fruit
好了,以上就定義了「某人喜歡」與「種什麼」兩個工廠了,後面再來分別定義他們的實現類,首先定義「某人」的爺爺、奶奶實現類:
爺爺:
public class grandepa implements familyperson
}
奶奶:
public class grandema implements familyperson
}
再定義「種什麼」的蘋果、香蕉實現類:
蘋果:
香蕉:
public class banana implements fruit
}
好了,基礎的工廠都有了,現在需要乙個抽象工廠了,呵,就是同時引用多個基礎工廠的工廠,定下「愛好」工廠如下:
public inte***ce hobby
實現爺爺喜歡種香蕉:
public class grandepahobby implements hobby
public fruit getfruit()
}
實現奶奶喜歡種蘋果:
一切ok,來個呼叫例項:
public class test1
}
輸出:
簡單工廠和抽象工廠模式的理解
簡單工廠方法,舉例 有乙個資料訪問層的工廠類daofactory 介面 裡面有各種資料庫的實現,例如 oracledaofactory和mysqldaofactory,然後可以根據 你在客戶端的輸入或者某個配置檔案的資訊 oracle 或者 mysql 去建立屬於自己需要的那個資料庫實現 daofa...
簡單工廠 工廠模式 抽象工廠模式
簡單工廠模式 public class operation set public double numberb set public virtual double getresult 加減乘除類 class operationadd operation class operationsub oper...
對抽象工廠模式的簡單理解
定義 抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的一種形態,當有多個抽象角色時,使用的一種工廠模式,它向客戶端提供乙個介面,使客戶端在不必指定產品的具體的情況下,建立多個產品族中的產品物件。注意 注意產品族的概念 是指位於不同產品等級結構中,功能相關聯的產品組成的家族。一般是位於不同的等...