Maison > Article > développement back-end > Pratique et discussion du modèle d'usine à Golang
Le modèle d'usine est un modèle de conception utilisé pour créer des objets sans spécifier de classes spécifiques. Ses avantages incluent le découplage du processus de création, l'évolutivité et la flexibilité. Il convient aux processus de création complexes, à la nécessité de sélectionner dynamiquement des produits ou à la nécessité de fournir la création. de nouvelles capacités de type produit.
Factory pattern est un modèle de conception permettant de créer des objets sans spécifier de classe spécifique. Il permet à l'application d'obtenir l'objet requis sans connaître le processus de création.
type Product interface { DoSomething() } type ProductA struct {} func (p *ProductA) DoSomething() { fmt.Println("ProductA doing something...") } type ProductB struct {} func (p *ProductB) DoSomething() { fmt.Println("ProductB doing something...") } type Factory interface { CreateProduct() Product } type FactoryA struct {} func (f *FactoryA) CreateProduct() Product { return &ProductA{} } type FactoryB struct {} func (f *FactoryB) CreateProduct() Product { return &ProductB{} } func main() { factoryA := &FactoryA{} productA := factoryA.CreateProduct() productA.DoSomething() // Output: ProductA doing something... factoryB := &FactoryB{} productB := factoryB.CreateProduct() productB.DoSomething() // Output: ProductB doing something... }
Le modèle d'usine est souvent utilisé pour découpler le processus de création et l'utilisation d'objets. Par exemple, lorsque vous utilisez un framework d'injection de dépendances, il vous permet de créer des objets sans vous appuyer directement sur des classes concrètes.
Les situations dans lesquelles on envisage d'utiliser le modèle d'usine incluent :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!