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

2022-09-20 14:24:12 字數 887 閱讀 1922

//蘋果工廠

}//蘋果工廠 建立蘋果手機

}//華為工廠

type huaweifactory struct

//華為工廠建立華為手機

func(*huaweifactory) createphone() phone

}//華為工廠

type xiaomifactory struct

//華為工廠建立華為手機

func(*xiaomifactory) createphone() phone

}//定義乙個phone介面

type phone inte***ce

//type1

}//實現call方法

log.info("我是蘋果手機,我可以打**")

}//type2

type huawei struct

//實現call方法

func (*huawei) call()

//type3

type xiaomi struct

//實現call方法

func (*xiaomi) call()

測試:

package factorymethod

import "testing"

func testtype1(t *testing.t)

測試結果:

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

簡單工廠模式是通過傳遞不同的引數生成不同的例項,缺點就是擴充套件不同的類別時需要修改 工廠方法模式為每乙個product提供乙個工程類,通過不同工廠建立不同例項。類圖 相關源 demo在github上,可供參考!type animalfactory inte ce type birdfactory ...

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

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

工廠模式之工廠方法模式

工廠方法模式 factory method pattern 是指定義乙個建立物件的工廠介面,但讓實現這個介面的類來決定例項化哪個類工廠方法讓類的例項化推遲到子類中進行。在工廠方法模式中使用者只需要關心所需產品對應的工廠,無須關心建立細節,而且加入新的產品符合開閉原則,並且每個工廠只能建立自己的產品,...