Maison >Java >javaDidacticiel >Modèle de conception usine simple

Modèle de conception usine simple

巴扎黑
巴扎黑original
2017-06-26 09:42:421424parcourir

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 suivant

Interface produit :

public interface IProduct {void meathod();
}
Produit spécifique :

public class ProductA implements IProduct {public void meathod() {
        System.out.printf("产品A");
    }
}
public class ProductB implements IProduct {public void meathod() {
        System.out.printf("产品B");
    }
}
Usine :

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();
    }
}
Sortie : Produit A Produit B

Exemples spécifiques :

Un modèle aussi simple est plus couramment utilisé. Prenons notre projet comme exemple. Les produits que nous fabriquons utilisent diverses interfaces de plusieurs partenaires, et la plupart des interfaces sont les mêmes. les champs et les détails spécifiques sont différents. Par exemple, lors d'une demande de crédit, toutes les informations personnelles relatives à la vie privée sont à peu près les mêmes, mais les informations individuelles sont très adaptées au modèle d'usine.

Avantages et inconvénients :

Avantages : Découplage, aide à l'encapsulation.

Inconvénients : augmente la complexité du client et n'est pas propice à l'expansion des sous-usines

En fait, l'essence du modèle d'usine simple est de choisir de le mettre en œuvre.

Disons simplement ceci et bien plus encore.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn