Hoe de fabrieksmethode in Java te implementeren



Dit artikel biedt u gedetailleerde en uitgebreide kennis over het implementeren van Factory Method in Java met voorbeelden.

Klassen en objecten vormen het grootste deel van waardoor het een van de belangrijkste programmeertalen is om mee te werken. In dit artikel bespreken we wat de fabrieksmethode in Java is in de volgende volgorde:

Wat is de fabrieksmethode in Java?





Fabriekspatroon of Fabrieksmethode in Java zegt dat subklassen verantwoordelijk zijn voor het maken van een object van een klasse. Met andere woorden, het patroon van de fabrieksmethode is een creatief patroon dat wordt gebruikt om objecten te maken met behulp van fabrieksmethoden, zonder de exacte klasse van het gemaakte object te hoeven specificeren. Fabrieksmethoden worden ook wel genoemd Virtuele constructeurs .

Fabrieksmethode in Java-logo



In Factory Methods maken we objecten zonder de creatie-logica aan de clients bloot te stellen. Dezelfde gemeenschappelijke interface wordt door de klant gebruikt om een ​​nieuw type objecten te maken.

Voordelen van de fabrieksmethode

  • Het type objecten dat moet worden gemaakt, wordt gekozen door de subklassen. De fabrieksmethode maakt dit mogelijk.

    datastructuren en algoritmen in java
  • Door de noodzaak te elimineren om toepassingsspecifieke klassen in de code te binden, bevordert het losse koppeling .



Gebruik van de fabrieksmethode

  • Ze worden gebruikt als de klas geen idee heeft welke subklassen vereist zijn.

  • Ze worden gebruikt wanneer een klasse wil dat subklassen objecten specificeren die moeten worden gemaakt.

  • Ouderklassen kiezen voor het maken van objecten van subklassen, we gebruiken fabrieksmethoden.

hoe je een dynamische array maakt in java

Wanneer gebruik je de fabrieksmethode?

Losse koppeling wordt geïntroduceerd tussen klassen door Factory Method Patternsdat is een van de belangrijkste principes en moet worden toegepast bij het ontwerpen van de architectuur. Onze architectuur kan flexibeler en minder kwetsbaar worden gemaakt door losse koppelingen in de programma-architectuur te introduceren.

recursie fibonacci-serie in java

Hier is een voorbeeldcode

interface ImageReader {DecodedImage getDecodeImage ()} class DecodedImage {private String image public DecodedImage (String image) {this.image = image} @Override public String toString () {return image + ': is gedecodeerd'}} class GifReader implementeert ImageReader { private DecodedImage decodedImage public GifReader (String-afbeelding) {this.decodedImage = nieuw DecodedImage (afbeelding)} @Override public DecodedImage getDecodeImage () {return decodedImage}} - klasse JpegReader implementeert ImageReader {private DecodedImage decodedImage decodedImage publieke afbeelding Jpeg DecodedImage (image)} @Override public DecodedImage getDecodeImage () {return decodedImage}} public class 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 ')) {lezer = nieuwe JpegReader (afbeelding)} assert reader! = null decodedImage = reader.getDecodeImage () System.out.println (decodedImage)}}

UITGANG:

Verklaring van de code

Deze code laat zien hoe een fabrieksmethode is ingesteld. Er worden meerdere klassen gemaakt die elk een specifieke taak uitvoeren om een ​​afbeelding te decoderen. We hebben een chauffeursklasse genaamd FactoryMethodDemo.

We geven een argument door dat de extensie .jpeg of .gif etc. moet hebben. Op basis van de extensie van de afbeelding wordt een klasseobject gemaakt voor ofwel jpeg-reader of gif-reader en wordt de uitvoering dienovereenkomstig uitgevoerd.

Hiermee komen we aan het einde van dit artikel Factory Method In Java. Ik hoop dat je deze methoden begrijpt.

Bekijk de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. De training- en certificeringcursus Java J2EE en SOA van Edureka is bedoeld voor studenten en professionals die Java-ontwikkelaar willen worden.