抽象工廠模式 工廠的工廠

2021-09-29 10:41:55 字數 2196 閱讀 8336

圍繞乙個超級工廠建立其他工廠,該超級工廠又稱為其他工廠的工廠。

抽象工廠模式提供了乙個建立一系列相關或者依賴物件的介面,無需指定他們具體的類。

同一產品族的東西都是由同乙個工廠生產的,但同一產品族位於不同等級結構

產品等級數量相對固定的一些產品族 可以考慮使用抽象模式

先寫兩個產品:手機、路由器。

再寫兩個產品的實現:小公尺、華為手機,小公尺、華為路由器。

然後定義乙個抽象工廠,該工廠可能實現路由器也可能實現手機。

手機抽象介面: iphoneproduct

//手機產品介面

public inte***ce iphoneproduct

抽象路由器介面: irouterproduct

//路由器產品介面

public inte***ce irouterproduct

小公尺手機: xiaomiphone

public class xiaomiphone implements iphoneproduct

public void shutdown()

public void callup()

public void sendsms()

}

華為手機:huaweiphone
public class huaweiphone implements iphoneproduct

public void shutdown()

public void callup()

public void sendsms()

}

小公尺路由器: xiaomirouter

public class xiaomirouter implements irouterproduct

public void shutdown()

public void openwifi()

public void setting()

}

華為路由器: huaweirouter

public class huaweirouter implements irouterproduct

public void shutdown()

public void openwifi()

public void setting()

}

抽象產品工廠:iproductfactory

public class iproductfactory
小公尺工廠:xiaomifactory

public class xiaomifactory implements iproductfactory

public irouterproduct routerproduct()

}

華為工廠:huaweifactory

public class xiaomifactory implements iproductfactory

public irouterproduct routerproduct()

}

實現:client

簡單工廠模式:

工廠方法模式:

工廠模式 抽象工廠

在看抽象工廠前,我們需要引入兩個概念 1 產品等級結構 2 產品族 我們現在有這樣兩個產品型別 汽車 car 自行車 bike 有兩家公司 寶馬 bmw 奧迪 audi 每乙個廠家都能夠生產這兩種型別的產品 bmw介面 bmwcar,bmwbike audi介面 audicar,audibike 在...

工廠模式 抽象工廠

1 為了提高內聚和松耦合,我們經常會抽象出一些類的公共介面以形成抽象基類或者介面。這樣我們可以通過宣告乙個指向基類的指標來指向實際的子類實現,達到了多型的目的。這裡很容易出現的乙個問題是 若干個子類繼承自抽象基類,我們必須在每次要用到子類的地方就寫如 new 的 這裡帶來兩個問題 1 客戶程式設計師...

抽象工廠模式 抽象工廠模式

抽象工廠模式其實是圍繞了乙個超級工廠建立其他的工廠 可參考工廠模式 這個超級工廠又可以想像成是其他工廠的工廠,這種設計模式是一種建立型模式。在抽象工廠模式中,介面是負責建立乙個相關物件的工廠,不需要顯式指出其類。每個生成的工廠都能按照工廠模式提供物件。意圖提供乙個建立一系列相關或相互依賴物件的介面,...