抽象工廠模式 Go語言設計模式 抽象工廠

2021-10-12 07:43:53 字數 1345 閱讀 6989

想象一下你需要買包括運動鞋和運動服的運動套裝,大多數時候你想買同乙個工廠生產的一套運動套裝,比如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語言設計模式(抽象工廠模式)

前面我們寫過的工廠模式實際上是對產品的抽象。對於不同的使用者需求,我們可以給予不同的產品,而且這些產品的介面都是一致的。而抽象工廠呢?顧名思義,就是說我們的工廠是不一定的。怎麼理解呢,舉個例子。假設有兩個水果店都在賣水果,都賣蘋果和葡萄。其中乙個水果店買白蘋果和白葡萄,另外乙個水果店賣紅蘋果和紅葡萄...