Comment implémenter la méthode d'usine en Java



Cet article vous fournira des connaissances détaillées et complètes sur la façon d'implémenter la méthode d'usine en Java avec des exemples.

Les classes et les objets sont la partie principale de ce qui en fait l'un des principaux langages de programmation avec lesquels travailler. Dans cet article, nous allons discuter de ce qu'est la méthode d'usine en Java dans l'ordre suivant:

algorithme de tri c ++

Qu'est-ce que la méthode d'usine en Java?





Modèle d'usine ou Méthode d'usine en Java dit que les sous-classes sont responsables de la création d'un objet d'une classe. En d'autres termes, le modèle de méthode d'usine est un modèle de création utilisé pour créer des objets à l'aide de méthodes d'usine, sans avoir à spécifier la classe exacte de l'objet créé. Les méthodes d'usine sont également appelées Constructeurs virtuels .

Méthode d



Dans les méthodes d'usine, nous créons des objets sans exposer la logique de création aux clients. La même interface commune est utilisée par le client pour créer un nouveau type d'objets.

Avantages de la méthode d'usine

  • Le type d'objets à créer est choisi par les sous-classes. La méthode d'usine le permet.

  • En éliminant le besoin de lier des classes spécifiques à l'application dans le code, il favorise couplage lâche .



Utilisations de la méthode d'usine

  • Ils sont utilisés lorsque la classe n'a aucune idée des sous-classes requises.

  • Ils sont utilisés lorsqu'une classe souhaite que les sous-classes spécifient les objets qui doivent être créés.

  • Les classes de parents choisissent la création d'objets de sous-classes, nous utilisons des méthodes d'usine.

Quand utiliser la méthode d'usine?

Le couplage lâche est introduit entre les classes par des modèles de méthode d'usinequi est l'un des principes les plus importants et doit être appliqué lors de la conception de l'architecture. Notre architecture peut être rendue plus flexible et moins fragile en introduisant un couplage lâche dans l'architecture des programmes.

Voici un exemple de code

interface ImageReader {DecodedImage getDecodeImage ()} classe DecodedImage {Private String image public DecodedImage (String image) {this.image = image} @Override public String toString () {return image + ': is decoded'}} classe GifReader implémente ImageReader { private DecodedImage decodedImage public GifReader (String image) {this.decodedImage = new DecodedImage (image)} @Override public DecodedImage getDecodeImage () {return decodedImage}} classe JpegReader implémente ImageReader {private DecodedImage decodedImage (image) DecodedImage (image)} @Override public DecodedImage getDecodeImage () {return decodedImage}} classe publique FactoryMethodDemo {public static void main (String [] args) {DecodedImage decodedImage ImageReader reader = null String image = 'image.jpeg' String format = image .substring (image.indexOf ('.') + 1, (image.length ())) if (format.equals ('gif')) {reader = new GifReader (image)} if (format.equals ('jpeg ')) {lecteur = new JpegReader (image)} assert reader! = null decodedImage = reader.getDecodeImage () System.out.println (decodedImage)}}

PRODUCTION:

Explication du code

Ce code montre comment une méthode d'usine est configurée. Plusieurs classes sont créées, chacune effectuant une tâche spécifique de décodage d'une image. Nous avons une classe de pilote appelée FactoryMethodDemo.

Nous passons un argument qui doit avoir une extension .jpeg ou .gif etc. Basé sur l'extension de l'image, un objet de classe est créé pour le lecteur jpeg ou gif et l'exécution est faite en conséquence.

Avec cela, nous arrivons à la fin de cet article sur la méthode d'usine en Java. J'espère que vous avez compris ces méthodes.

Vérifiez 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.