【Go设计模式】2.创建型-简单工厂模式
简介
简单工厂并不属于GoF的23种设计模式,它是开发者认为的一种非常简易的设计模式。
类图
实现
type Product interface {
}
type ConcreteProductA struct {
Product //便于理解
}
type ConcreteProductB struct {
Product //便于理解
}
type Factory struct {
}
func (fac *Factory) CreateProduct(type string) Product {
var product Product
switch type {
case "ConcreteProductA": product = new(ConcreteProductA)
case "ConcreteProductB": product = new(ConcreteProductB)
}
return product
}
func main() {
factory := new(Factory)
concreteProductA := factory.CreateProduct("ConcreteProductA")
concreteProductA.dosth()
concreteProductB := factory.CreateProduct("ConcreteProductB")
concreteProductB.dosth()
}
【Go设计模式】2.创建型-简单工厂模式
https://sheep-in-box.github.io/2024/07/25/【Go设计模式】2-创建型-简单工厂模式/