Maison >Java >javaDidacticiel >Modèle de conception usine simple
Après l'article précédent sur le mode singleton, je souhaite enfin continuer à écrire sur les modèles de conception. Commençons par le plus simple, le modèle d'usine simple. Ce modèle de conception est très simple et est également le plus couramment utilisé (il ne l'est pas). c'est pareil pour beaucoup de choses ?, plus c'est simple, plus le seuil est bas et plus c'est sympathique).
Concept (pardonnez-moi de copier sans vergogne l'Encyclopédie Baidu) :
Le mode usine simple est un mode de création, également appelé mode méthode d'usine statique (Static Factory Method), mais il n'appartient pas aux 23 types de GOF Un des modèles de conception. Le modèle d'usine simple utilise un objet d'usine pour déterminer quelle instance de la classe de produit est créée. Le modèle d'usine simple est le modèle le plus simple et le plus pratique de la famille des modèles d'usine et peut être compris comme une implémentation spéciale de différents modèles d'usine.
Ce qui est dit ici est très clair. Une usine a N objets C'est l'essence d'une usine simple. Le diagramme de classes UML spécifique est le suivant
<.> Téléchargez d'abord le processus d'outil en ligne. Ceci est mon lien d'invitation. Bien sûr, si vous avez besoin de dessiner beaucoup d'images, veuillez dépenser de l'argent pour les soutenir. Expliquons ce diagramme de classes. Il se compose de trois parties. La première est Creator, qui est la classe d'usine, la seconde est l'interface IProduct et la troisième est les produits spécifiques A et B. Le code spécifique est le suivantInterface produit :
public interface IProduct {void meathod(); }
public class ProductA implements IProduct {public void meathod() { System.out.printf("产品A"); } }
public class ProductB implements IProduct {public void meathod() { System.out.printf("产品B"); } }
public class Creator {public static IProduct createProduct(String productName) {if (null == productName) {return null; } else if ("A".equals(productName)) {return new ProductA(); } else if ("B".equals(productName)) {return new ProductB(); }return null; }public static void main(String[] args) { IProduct productA = Creator.createProduct("A"); productA.meathod(); IProduct productB = Creator.createProduct("B"); productB.meathod(); } }
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!