php 工厂模式需要使用继承,Son extends Father的写法,而golang中没有这种,但也可以通过这种方式实现,接口的方式。
package pkg
type Father interface {
Add(id interface{},value interface{}) error
Get(id interface{}) interface{}
}
type son struct {
}
func NewSon() Father {
return &son{}
}
func (s *son) Add(id interface{},value interface{}) error {
}
func(s *son) Get(id interface{}) interface{} {
}
使用的时候:
s := pkg.NewSon()
s.Add()
s.Get()
到时候如果需要替换,只需要替换 pkg.NewSon() 这个即可,不用再去改其他地方。
本文探讨了如何在Go语言中通过接口实现类似PHP工厂模式的功能,利用接口定义方法,通过`NewSon()`函数创建并返回子类型实例,实现代码灵活性和替换的便捷性。
662

被折叠的 条评论
为什么被折叠?



