抽象工廠定義:
提供乙個介面,用於建立 相關的物件家族
抽象工廠和工廠方法的區別:
抽象工廠模式建立的是物件家族,也就是很多物件而不是乙個物件,並且這些物件是相關的,也就是說必須一起建立
出來,而工廠方法模式只是用於建立乙個物件,但抽象工廠模式用到了工廠方法模式來建立單一物件。
定義介面:
public class abstractproducta p
ublic class abstractproductb
繼承介面:
public class producta1 extends abstractproducta
public class producta2 extends abstractproducta
public class productb1 extends abstractproductb
public class productb2 extends abstractproductb
定義抽象工廠:
public abstract class abstractfactory
實現抽象工廠:
public class concretefactory1 extends abstractfactory
abstractproductb createproductb()
} public class concretefactory2 extends abstractfactory
abstractproductb createproductb()
}
使用抽象工廠獲取物件:
public class client
}
抽象工廠模式 抽象工廠模式
抽象工廠模式其實是圍繞了乙個超級工廠建立其他的工廠 可參考工廠模式 這個超級工廠又可以想像成是其他工廠的工廠,這種設計模式是一種建立型模式。在抽象工廠模式中,介面是負責建立乙個相關物件的工廠,不需要顯式指出其類。每個生成的工廠都能按照工廠模式提供物件。意圖提供乙個建立一系列相關或相互依賴物件的介面,...
工廠模式 抽象工廠
在看抽象工廠前,我們需要引入兩個概念 1 產品等級結構 2 產品族 我們現在有這樣兩個產品型別 汽車 car 自行車 bike 有兩家公司 寶馬 bmw 奧迪 audi 每乙個廠家都能夠生產這兩種型別的產品 bmw介面 bmwcar,bmwbike audi介面 audicar,audibike 在...
工廠模式 抽象工廠
1 為了提高內聚和松耦合,我們經常會抽象出一些類的公共介面以形成抽象基類或者介面。這樣我們可以通過宣告乙個指向基類的指標來指向實際的子類實現,達到了多型的目的。這裡很容易出現的乙個問題是 若干個子類繼承自抽象基類,我們必須在每次要用到子類的地方就寫如 new 的 這裡帶來兩個問題 1 客戶程式設計師...