建立物件的介面,讓其子類自己決定例項化哪個類,工廠模式使其建立過程延遲到子類進行。
1.產品抽象介面
2.工廠建立產品方法
3.產品例項
選銀行借錢的例子,資質方法根據你的收入等其他情況給你選擇銀行。
//抽象產品介面
type bank inte***ce
//具體銀行產品例項
type bjbank struct
func (b *bjbank)borrowmoney()
type zsbank struct
func (z *zsbank)borrowmoney()
//工廠建立產品方法
func getbank(incomemoney int64)bank
}else if incomemoney >100
} return nil
}func main()
抽象乙個類(inte***ce),多個struct 實現了這個抽象,這個時候我們可以對這個抽象類實現乙個工廠方法,這個工廠方法專門來根據一些不確定條件來建立這個抽象類的實體類。 Golang設計模式 工廠模式
定義乙個用於建立物件的介面,讓子類界定例項化哪個類。工廠方法使乙個類的例項化延遲到子類。簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶的選擇動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴。如果是翻譯,讓客戶端不管用哪個類的例項,只需把翻譯型別 int 1,2,3 給工廠...
Golang設計模式 簡單工廠模式
簡單工廠模式 factory pattern 又稱為靜態工廠方法 static factory method 模式,它屬於類建立型模式。在簡單工廠模式中,可以根據引數的不同返回不同類的例項。簡單工廠模式專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。簡單工廠模式包含如下角色 ...
Golang 工廠模式
golang 工廠模式 golang 的結構體沒有建構函式,通常可以使用工廠模式來解決這個問題。看乙個需求 乙個結構體的宣告是這樣的 package model type student struct 因為這裡的student 的首字母s 是大寫的,如果我們想在其它包建立 student 的例項 比...