Qu'est-ce que la méthode d'usine en Java et comment l'utiliser?

Cette méthode Factory en Java est un modèle de conception créative qui résout le problème de la création d'objets produit sans spécifier les classes concrètes.

En termes simples, un le modèle d'usine aide à créer des instances pour vos classes. Comme son nom signifie Factory, c'est un endroit où sont créés différents produits qui sont similaires dans les fonctionnalités mais divisés en catégories. Alors, approfondissons et comprenons en détail le concept de méthode Factory en Java.



Voici les sujets qui seront traités dans ce didacticiel:



Commençons!

En commençant par la définition d'un modèle de fabrique Java.



Qu'est-ce que le modèle d'usine Java?

Une petite question. Comment créer une instance d'un classe en Java ? Principalement en utilisant le ' Nouveau ' mot-clé. Eh bien, vous avez une meilleure méthode ici et c'est en quoi consiste le modèle d'usine Java.

synchronisation des threads dans l'exemple java

Le modèle d'usine est utilisé pour créer des instances pour les classes. La création d'un objet n'est pas exposée au client et le client utilise la même interface commune pour créer un nouveau type d'objet. L'idée centrale derrière le La méthode factory consiste à créer et à renvoyer des instances dans lesquelles les détails du module de classe sont cachés à l'utilisateur.

En un mot, une superclasse spécifie tous les comportements standard et génériques et délègue ensuite les détails de création aux sous-classes qui sont fournies par le client.



Après avoir compris la signification réelle du modèle de méthode d'usine en Java, comprenons les avantages qu'il offre.

Avantages de la méthode d'usine Java

J'énumère quelques-uns des avantages qu'offre la méthode d'usine Java:

  1. La objet que vous créez peut être utilisé sans duplication de code.
  2. Si vous utilisez une méthode de fabrique au lieu d'un constructeur, la méthode de fabrique peut également avoir des noms différents et plus descriptifs.
  3. En outre, il supprime l'instanciation des classes d'implémentation du code client.
  4. Cette méthode rend le code plus robuste, moins couplé et facile à développer.
  5. Modèle d'usine à travers fournit abstraction entre l'implémentation et les classes clientes.

Après avoir pris connaissance des avantages, passons à notre prochain segment de cet article.

Implémentation du modèle d'usine

Maintenant, le processus de mise en œuvre peut vous sembler un peu complexe. Suivez mes instructions pour comprendre la procédure étape par étape.

Premièrement, je vais créer une interface de forme et également les classes concrètes respectives qui implémenteraient l'interface de forme. Après cela, une classe d'usine est définie.

Tout d'abord, une interface est créée:

qu'est-ce qu'un développeur blockchain
interface publique Shape {void draw ()}

Ensuite, les classes concrètes sont créées pour implémenter l'interface de cette manière:

public class Rectangle implémente Shape {@Override public void draw () {System.out.println ('Rectangle :: draw () method.')}} public class Square implémente Shape {@Override public void draw () {System.out .println ('Square :: draw () method.')}} classe publique Circle implémente Shape {@Override public void draw () {System.out.println ('Circle :: draw () method.')}}

Après avoir créé des classes concrètes, une fabrique est créée pour générer les objets.

public class ShapeFactory {// utiliser la méthode getShape pour obtenir un objet de type shape public Shape getShape (String shapeType) {if (shapeType == null) {return null} if (shapeType.equalsIgnoreCase ('CIRCLE')) {return new Circle ( )} else if (shapeType.equalsIgnoreCase ('RECTANGLE')) {return new Rectangle ()} else if (shapeType.equalsIgnoreCase ('SQUARE')) {return new Square ()} return null}}

Désormais, la fabrique est créée pour utiliser les objets des classes concrètes pour transmettre les informations requises:

public class FactoryPatternDemo {public static void main (String [] args) {ShapeFactory shapeFactory = new ShapeFactory () // récupère un objet de Circle et appelle sa méthode draw. Shape shape1 = shapeFactory.getShape ('CIRCLE') // appelle la méthode draw de Circle shape1.draw () // récupère un objet Rectangle et appelle sa méthode draw. Shape shape2 = shapeFactory.getShape ('RECTANGLE') // appelle la méthode draw de Rectangle shape2.draw () // récupère un objet Square et appelle sa méthode draw. Shape shape3 = shapeFactory.getShape ('SQUARE') // appelez la méthode draw de square shape3.draw ()}}

Production:

structures de données et algorithmes java

Méthode Circle :: draw ().
Rectangle :: draw () méthode.
Méthode Square :: draw ().

C'est ainsi que vous implémentez la méthode de modèle d'usine via du code Java.

J'espère que le contenu mentionné ci-dessus s'est avéré utile pour améliorer votre connaissance. Continuez à lire, continuez à explorer!

Consultez également par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java. Le cours est conçu pour vous donner une longueur d'avance dans la programmation Java et vous former aux concepts Java de base et avancés ainsi que divers comme Hibernate & Spring.

Vous avez une question pour nous? Veuillez les mentionner dans la section commentaires de ce blog «Méthode d'usine en Java» et nous vous répondrons dans les plus brefs délais.