| Prototyp | [ Übersicht ] [ Beispiel ] [ Quellen ] [ Home Entwurfsmuster ] |
Beispiel |
Wir schreiben das Jahr 1426. Sie sind Besitzer einer Schiffswerft zu Rostock, die mit den modernsten Methoden ihrer Zeit arbeitet.
Als erster ihres Fachs führten sie Blaupausen ein (Anm. des Schreiberlings: so genau weiß man das nicht!), die einer gewissen
Spezifikation folgen müssen. Der Kunde sucht sich die entsprechende Blaupause aus, gibt an, aus welchem Material das Schiff
bestehen soll und welchen Namen es tragen soll. Mit diesen Angaben stellen Sie dann das Schiff her. |
|
Das Java-Applet wurde mit der J2SE 1.5.0 entwickelt. |
Beschreibung | ||
Der «Client» des Beispiels, als «Singleton» (Das Singleton Pattern)
implementiert, ist die Klasse public class ShipFactory { ... // Rückgabe der Singleton-Instanz public static ShipFactory getInstance(){...} public void setShipPrototype( Ship shipPrototype ) {...} public Ship getNewShipInstance( String material, String name ) {...} } | ||
Der abstrakte «Prototype» public abstract class Ship implements Cloneable { ... public abstract Object clone(); ... }Alle Subklassen (s. Abb. 3) implementieren die Methode clone():Object und geben entsprechend eine Kopie von sich
zurück.
|
[ Übersicht ] [ Beispiel ] [ Quellen ] [ Home Entwurfsmuster ] |