简单工厂模式
思路:多个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{}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。