go 語言沒有建構函式一說,所以一般會定義new***函式來初始化相關類。
new*** 函式返回介面時就是簡單工廠模式,也就是說golang的一般推薦做法就是簡單工廠。
在這個******factory包中只有api 介面和newapi函式為包外可見,封裝了實現細節。
******.go**
package ******factory
import
"fmt"
//api is inte***ce
type api inte***ce
//newapi return api instance by type
func
newapi
(t int
) api
}else
if t ==2}
return
nil}
//hiapi is one of api implement
type hiapi struct
//say hi to name
func
(*hiapi)
say(name string
)string
//helloapi is another api implement
type helloapi struct
//say hello to name
func
(*helloapi)
say(name string
)string
******_test.go**
package ******factory
import
"testing"
//testtype1 test get hiapi with factory
func
testtype1
(t *testing.t)
}func
testtype2
(t *testing.t)
}
設計模式 工廠模式(簡單工廠模式和方法工廠模式)
一 簡單工廠模式 簡單工廠模式概述 又叫靜態工廠方法模式,它定義乙個具體的工廠類負責建立一些類的例項 優點 客戶端不需要在負責物件的建立,從而明確了各個類的職責 缺點 這個靜態工廠類負責所有物件的建立,如果有新的物件增加,或者某些物件的建立方式不同,就需要不斷的修改工廠類,不利於後期的維護 動物類 ...
設計模式之簡單工廠 工廠方法模式 抽象工廠模式
這裡講三種模式放在一起說明,是因為三種模式關聯性很強 抽象工廠模式簡單化以後就是工廠方法模式,工廠方法模式再簡單化就是簡單工廠模式 簡單工廠模式並沒有被列入到gof的設計模式中 public class factory 簡單工廠類,實現建立產品物件 class factory return prod...
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...