想象一下你需要買包括運動鞋和運動服的運動套裝,大多數時候你想買同乙個工廠生產的一套運動套裝,比如nike套裝或adidas套裝。你想要的具體產品是成套的鞋子和短褲,這就是抽象工廠運用的場景,這些產品將由nike或adidas的抽象工廠建立。
以下是工廠介面:
以下是兩個產品介面:
現在讓我們來看抽象工廠介面isportsfactory的**:
以下是具體工廠結構adidas的**:
以下是具體工廠結構nike的**:
以下是抽象運動鞋介面ishoe具體運動鞋基結構shoe的**:
以下是具體運動鞋子結構adidasshoe的**:
以下是具體運動鞋子結構nikeshoe的**:
以下是抽象運動服介面ishort具體運動服基結構short的**:
以下是具體運動服子結構adidasshort的**:
以下是具體運動服子結構nikeshort的**:
以下是main函式**:
結果:logo: nike
size: 14
logo: nike
size: 14
logo: adidas
size: 14
logo: adidas
size: 14
Go設計模式 抽象工廠模式
對照下面模板類圖作個簡單說明抽象工廠的四個角色叭。抽象工廠角色 即圖中的abstract creator,抽象工廠核心,也就是那個 超級工廠 與應用程式無關,超級工廠所建立的工廠必須實現提供的介面 具體工廠角色 即圖中的creator,用於建立具體產品物件。抽象產品角色 即圖中的abstract p...
go設計模式之抽象工廠
以下就是實現的 package main import fmt type iproduct inte ce type iphone struct func p iphone showbrand type mac struct func pc mac showbrand type factory in...
C語言設計模式(抽象工廠模式)
前面我們寫過的工廠模式實際上是對產品的抽象。對於不同的使用者需求,我們可以給予不同的產品,而且這些產品的介面都是一致的。而抽象工廠呢?顧名思義,就是說我們的工廠是不一定的。怎麼理解呢,舉個例子。假設有兩個水果店都在賣水果,都賣蘋果和葡萄。其中乙個水果店買白蘋果和白葡萄,另外乙個水果店賣紅蘋果和紅葡萄...