Prototyp-Designmuster in Java

Dieses Designmuster funktioniert im wahrsten Sinne des Wortes 'Prototyp'. Ein weiteres der schöpferischen Entwurfsmuster, das Prototyp-Entwurfsmuster, findet Verwendung, wenn zahlreiche Objekte erstellt werden müssen und alle dieselben oder ähnliche Attribute haben. In solchen Fällen wird ein Prototypobjekt mit generalisierten Verhalten erstellt. Diese Struktur wird dann kopiert oder geklont, um Objekte zu erstellen. In einfacheren Worten kann man sich die Prototypstruktur als eine Objektvorlagenfabrik vorstellen.

Definition

Das Prototyp-Entwurfsmuster in Java erzeugt ein Prototypobjekt mit Beispielattributen, Merkmalen und Parametern. Danach kann jedes Objekt mit ähnlichen Attributen durch einfaches Klonen des Prototypobjekts erzeugt werden. Diese Struktur macht nicht nur die Objekterstellung einfach, sondern abstrahiert auch den komplexen Objektinstanziierungsprozess von Clients.

Dieser Ansatz wird bevorzugt, da die Objekterstellung kostspieliger ist als das Klonen. JAVA hat es noch einfacher gemacht, dieses Muster in Ihrem Code zu implementieren. Die Methode clone() ist ein schnelles und effektives Werkzeug zum Klonen. Es gibt jedoch auch andere Klontechniken.

Komponenten des Prototypen-Designmusters

  • Prototyp: Enthält den Prototyp eines Objekts.
  • Prototyp-Registrierung: Diese Registrierung speichert alle Prototypen, die Zeichenfolgeneingaben verwenden.
  • Client: Der Client verweist auf die Registrierung, um Objekte zu erstellen.

Beispiel und Code

Dieses Beispiel wird eine allgemeine Fahrzeugklasse haben, die um bestimmte Automodelle erweitert wird.

java.util.LinkedList importieren; java.util.List importieren; abstrakte Klasse Vechicle implementiert Cloneable { private String carName; Zusammenfassung void addCar(); public Object clone() { Object clone = null; try {Klon = super.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } Klon zurückgeben; } } Klasse Toyota erweitert Vehicle { public Toyota () { this.carName = "Toyota"; } @Override void addCar() { System.out.println("Ein Toyota-Auto wurde hinzugefügt"); } } class honda erweitert Vehicle { public Honda () { this.carName = "Honda"; } @Override void addCar() { System.out.println("Ein Honda-Auto wurde hinzugefügt"); } } /* Fügen Sie nun die Fahrzeugtypen zu einer verketteten Liste hinzu, deren Importe zu Beginn des Programms erwähnt wurden und drucken Sie die verschiedenen Namen aus, indem Sie die einzelnen Fahrzeugklassen, also die Toyota- und die Honda-Klasse, aufrufen*/

 

Wann sollte das Prototyp-Design-Pattern verwendet werden?

Dieses Muster sollte befolgt werden, wenn eine große Anzahl ähnlicher Objekte erstellt werden muss und jedes Mal keine neuen Instanzen erstellt werden können. Dadurch bleibt der Code auch unabhängig von den Endprodukten.

Hinterlassen Sie eine Nachricht

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.