Résoudre le problème du modèle de méthode d'usine : une usine spécifique ne peut créer qu'un seul type de produit, mais dans le processus réel, une usine doit souvent générer de nombreux produits. Dans ce cas, le modèle d'usine abstrait peut être utilisé.
Définition : Fournit une interface pour créer une série d'objets liés ou interdépendants sans spécifier leurs classes spécifiques. L'usine spécifique est responsable de l'implémentation d'instances de produit spécifiques. Permettre à une usine de fabriquer plusieurs produits.
Abstract Factory (AbstractFactory) : fournit une interface pour créer des produits, y compris plusieurs méthodes d'interface pour créer des produits, et peut créer plusieurs Produits de différents niveaux
Concrete Factory (ConcreteFactory) : implémente la méthode définie par l'usine abstraite et finalise la création de produits spécifiques
Abstract Product (Product) : définit les spécifications du produit et décrit les principales caractéristiques et performances de le produit
Concrete Product (ConcreteProduct) : implémente la méthode de définition des produits abstraits. Il existe des usines spécifiques pour créer des produits. La relation un-à-plusieurs entre des usines spécifiques et des produits spécifiques
public interface AbstractFactory { public Product1 createProduct1(); public Product2 createProduct2(); } public class ConcreteFactory1 implements AbstractFactory { @Override public Product1 createProduct1() { System.out.println("具体工厂1产生具体产品1..."); return new ConcreteProduct1(); } @Override public Product2 createProduct2() { System.out.println("具体工厂1产生具体产品2..."); return new ConcreteProduct2(); } }
Étapes d'utilisation :
6. Avantages et inconvénients
Honor of Kings propose de nombreux héros. Les héros sont divisés en tireurs, auxiliaires, junglers, tanks et autres professions. ont des compétences et des attributs différents. Déclarez plusieurs sous-catégories d'usine telles que les chars, les mages et les assassins, et chaque usine peut produire des applications des compétences correspondantes.
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!