共计 378 个字符,预计需要花费 1 分钟才能阅读完成。
简略工厂模式
思路:多个 struct 实现同一个接口,在内部接口调用的时候,通过传参来表名创立哪一个实例。
毛病:新增一个类型的实例,就要大量批改多处代码。
package design_mode
type ApiInter interface {Say(msg string) string
}
type SpeakImpls struct {
}
func (s SpeakImpls) Say(msg string) string {return msg}
type WrangleImpls struct { }
func (a WrangleImpls) Say(msg string) string {return msg}
func NewApiImpls(facType string) ApiInter {
if facType == "speak" {return SpeakImpls{}
}
return WrangleImpls{}}
正文完