Implementieren der Factory-Methode in Java



In diesem Artikel erhalten Sie detaillierte und umfassende Kenntnisse zur Implementierung der Factory-Methode in Java anhand von Beispielen.

Klassen und Objekte sind der Hauptteil von Das macht es zu einer der wichtigsten Programmiersprachen, mit denen man arbeiten kann. In diesem Artikel werden wir die Factory-Methode in Java in der folgenden Reihenfolge erläutern:

Was ist die Factory-Methode in Java?





Marionette gegen Ansible gegen Koch

Fabrikmuster oder Factory-Methode in Java sagt, dass Unterklassen für das Erstellen eines Objekts einer Klasse verantwortlich sind. Mit anderen Worten, das Factory-Methodenmuster ist ein Erstellungsmuster, mit dem Objekte mit Factory-Methoden erstellt werden, ohne dass die genaue Klasse des erstellten Objekts angegeben werden muss. Factory-Methoden werden auch aufgerufen Virtuelle Konstruktoren .

Factory-Methode im Java-Logo



In Factory-Methoden erstellen wir Objekte, ohne die Erstellungslogik den Clients zur Verfügung zu stellen. Dieselbe gemeinsame Schnittstelle wird vom Client verwendet, um einen neuen Objekttyp zu erstellen.

Vorteile der Factory-Methode

  • Die Art der zu erstellenden Objekte wird von den Unterklassen ausgewählt. Die Factory-Methode erlaubt dies.

  • Durch das Eliminieren der Notwendigkeit, anwendungsspezifische Klassen im Code zu binden, wird gefördert lose Kopplung .



Verwendung der Factory-Methode

  • Sie werden verwendet, wenn die Klasse keine Ahnung hat, welche Unterklassen erforderlich sind.

  • Sie werden verwendet, wenn eine Klasse möchte, dass Unterklassen Objekte angeben, die erstellt werden müssen.

  • Elternklassen wählen die Erstellung von Objekten von Unterklassen, wir verwenden Factory-Methoden.

Wann ist die Factory-Methode anzuwenden?

Die lose Kopplung zwischen Klassen wird durch Factory-Methodenmuster eingeführtDies ist eines der wichtigsten Prinzipien und sollte bei der Gestaltung der Architektur angewendet werden. Unsere Architektur kann flexibler und weniger fragil gemacht werden, indem lose Kopplungen in die Programmarchitektur eingeführt werden.

Hier ist ein Beispielcode

Schnittstelle ImageReader {DecodedImage getDecodeImage ()} Klasse DecodedImage {privates Zeichenfolgenbild public DecodedImage (Zeichenfolgenbild) {this.image = image} @Override public String toString () {Rückgabebild + ': wird dekodiert'}} Klasse GifReader implementiert ImageReader { private DecodedImage decodedImage public GifReader (String image) {this.decodedImage = new DecodedImage (image)} @Override public DecodedImage getDecodeImage () {return decodedImage}} Klasse JpegReader implementiert ImageReader {private DecodedImage decodedImage DecodedImage (image)} @Override public DecodedImage getDecodeImage () {return decodedImage}} öffentliche Klasse 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 ')) {Leser = neuer JpegReader (Bild)} Assert Reader! = null decodedImage = reader.getDecodeImage () System.out.println (decodedImage)}}

AUSGABE:

Erklärung des Codes

Dieser Code zeigt, wie eine Factory-Methode eingerichtet wird. Es werden mehrere Klassen erstellt, die jeweils eine bestimmte Aufgabe zum Dekodieren eines Bildes ausführen. Wir haben eine Treiberklasse namens FactoryMethodDemo.

Wir übergeben ein Argument, das die Erweiterung .jpeg oder .gif usw. haben muss. Basierend auf der Erweiterung des Bildes wird ein Klassenobjekt für den JPEG-Reader oder den GIF-Reader erstellt und die Ausführung entsprechend ausgeführt.

Damit sind wir am Ende dieses Artikels über die Factory-Methode in Java angelangt. Ich hoffe, Sie haben diese Methoden verstanden.

Besuche die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Der Java J2EE- und SOA-Schulungs- und Zertifizierungskurs von Edureka richtet sich an Studenten und Fachleute, die Java-Entwickler werden möchten.