Cet article décrit le modèle de méthode d'usine du modèle de conception Java. Partagez-le pour votre référence, comme suit:
Le modèle de méthode d'usine est utilisé très fréquemment et peut toujours être vu dans notre développement quotidien. Il est défini comme: Définissez une interface pour créer un objet, mais laissez la sous-classe décider quelle classe Instanciate.Factory Méthode permet une instanciation de dépôt de classe aux sous-classes. (Définissez une interface pour créer un objet, permettant à la sous-classe décider quelle classe instanciera. Une méthode d'usine est l'instanciation d'une classe retardée à sa sous-classe.
Avantages du modèle de méthode d'usine:
1. Bonne encapsulation et structure de code claire. Une création d'objet est une contrainte conditionnelle. .
2. Le modèle de méthode d'usine a une excellente évolutivité. Lorsque vous ajoutez des catégories de produits, tant que vous modifiez de manière appropriée la catégorie d'usine spécifique ou développez une catégorie d'usine, vous pouvez compléter le "changement d'embrasser".
3. Bloquer les catégories de produits. Ceci est très important. changement. Étant donné que l'instanciation d'une classe de produits est la responsabilité de la classe d'usine, la génération de produits spécifique d'un objet de produit est déterminée par la classe d'usine.
4. Le modèle de méthode d'usine est un cadre de découplage typique. . Les valeurs de module de haut niveau doivent connaître la classe abstraite du produit. Le principe de l'inversion de la dépendance et ne reposent que sur la classe abstraite du produit.
Le code commun pour le modèle de méthode d'usine est le suivant:
// Résumé Classe de produit Classe abstraite Classe abstraite Produit {// Méthode publique de la classe de produits Public void Method1 () {// Business Logic Processing} // Résumé Méthode public Abstract Void Method2 ();}Il peut y avoir plusieurs catégories de produits spécifiques, toutes héritées des catégories de produits abstraites, le code source est le suivant:
// Catégorie de produit spécifique classe publique CONCRETEPRODUCT1 étend le produit {public void method2 () {// Business Logic ProcessLa classe d'usine abstraite est chargée de définir la génération d'objets de produit, le code source est le suivant:
// Résumé Classe d'usine Créateur de classe abstrait public {/ ** * Créer une classe de produit dont les types de paramètres d'entrée peuvent être définis par vous-même, généralement une chaîne, en énumération, une classe, bien sûr, peut être vide * / Abstract public <T étend le produit> T CreateProdu CT (classe <T> CLS);}Comment générer un objet produit est implémenté dans des classes d'usine spécifiques, le code source est le suivant:
// Classe d'usine spécifique ConcTeTecreat étend Créateur {public <t Product> t CreateProduct (class <T> CLS) {Product product = null; );La méthode d'appel de la classe de scène est la suivante:
// CLASSE DE SCÈNE CLASSE PUBLIQUE {public static void main (String [] args) {Creator Creator = new CONCRETÉRAGE (); Product Product = Creator.CreateProduct (CONCRETEPR ODUCT1.CLASS); }Le changement de code général est un cadre relativement pratique et facile à étendre, et les lecteurs peuvent se développer en fonction des besoins réels du projet.
J'espère que cet article sera utile à la programmation Java de tous.