golang設計模式之工廠方法模式

2021-08-07 17:17:40 字數 526 閱讀 6010

簡單工廠模式是通過傳遞不同的引數生成不同的例項,缺點就是擴充套件不同的類別時需要修改**。

工廠方法模式為每乙個product提供乙個工程類,通過不同工廠建立不同例項。

類圖:

相關源**demo在github上,可供參考!

type

animalfactory inte***ce

type birdfactory struct 

func (this *birdfactory) createanimal() action

}

bfactory := &birdfactory{}

bird := bfactory.createanimal()

bird.move(100)

Golang設計模式 之工廠方法模式

工廠方法模式使用子類的方式延遲生成物件到子類中實現。go中不存在繼承 所以使用匿名組合來實現 package factorymethod operator 是被封裝的實際類介面 type operator inte ce operato ctory 是工廠介面 type operato ctory ...

工廠模式之工廠方法(golang)

蘋果工廠 蘋果工廠 建立蘋果手機 華為工廠 type huaweifactory struct 華為工廠建立華為手機 func huaweifactory createphone phone 華為工廠 type xiaomifactory struct 華為工廠建立華為手機 func xiaomif...

Golang設計模式 01工廠方法模式

其他設計模式 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,工廠方法使乙個類的例項化延遲到其子類 工廠方法克服了簡單工廠違背開放封閉原則的缺點,又保持了封裝物件建立過程的優點 乙個簡單工廠的工廠類,變成乙個工廠抽象介面和多個具體生產物件的工廠,於是我們要增加乙個新的邏輯運算,就不需要更改原來...