Go 设计模式--简单的工厂模式
简单的工厂模式,又称为静态工厂方法,它属于类创建型模式。在简单工厂模式中,可以根据参数创建不同的实例。简单工厂模式专门定义一个类来创建其他类的实例。
在以下情况下可以使用简单工厂模式:
- 工厂类负责创建的对象比较少:由于创建的对象较少,不会造成工厂方法中的业务逻辑太过复杂。
- 客户端只知道传入工厂类的参数,对于如何创建对象不关心:客户端既不需要关心创建细节,甚至连类名都不需要记住,只需要知道类型所对应的参数。
实现:
package simpleFac
import(
"fmt"
)
//创造一个父类接口
type Fac interface{
Say()
}
//子产品1
type class1 struct{}
func (this * class1)Say(){
fmt.Println("class1 say hello")
}
//子产品2
type class2 struct{}
func (this * class2)Say(){
fmt.Println("class2 say hello")
}
//工厂方法
func NewClass(arg int)Fac{
if arg == 1 {
return &class1{}
} else if arg == 2{
return &class2{}
} else {
return nil
}
}
//使用工厂函数创造两个product simpleFac.NewClass(1).Say()//输出: class1 say hello simpleFac.NewClass(2).Say()//输出: class2 say hello

浙公网安备 33010602011771号