• Keine Ergebnisse gefunden

Prototyp - ein Erzeugungsmuster

N/A
N/A
Protected

Academic year: 2022

Aktie "Prototyp - ein Erzeugungsmuster"

Copied!
15
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Entwurfsmuster nach GoF Vorlesung:

Entwurfsmuster und Frameworks

Stefan Hermanutz HTWG Konstanz

(2)

Gliederung

1 Allgemeine Beschreibung Klassifikation

Zweck Motivation Anwendung

2 Aufbau

UML Diagramm Teilnehmer Interaktion Konsequenzen

3 Implementierung

UML-Diagramm des Prototypbeispiels Quellcode zum Prototypbeispiel

(3)

Allgemeine Beschreibung

Klassifikation Prototyp (engl. Prototype) - ein objektbasiertes Erzeugungsmuster (Creational Patterns)

Zweck erzeuge artgleiche Objekte ¨uber ein prototypisches Exemplar

Erzeugung erfolgt durch Kopieren des

Prototypen ohne genaues Wissen des spez. Typs Motivation Trennung zwischen allgemeing¨ultiger

Verwendung und spezifischer Erzeugung Bsp: Editor Framework und Editor f¨ur Musikpartitur

(4)

Allgemeine Beschreibung

Anwendung geforderte Unabh¨angigkeit zwischen System und Produkt (erzeugen, zusammensetzen und repr¨asentieren) und:

3 F¨alle Klassen erst zur Laufzeit spezifiziert werden vermeiden von parallelen Klassenhierarchieen bei Fabriken und Produkten

einzelnne Exemplare nur geringe Unterschiede aufweisen und so Vereinfachung

(5)

Struktur

allgemeines UML Diagramm

(6)

Teilnehmer

Prototyp deklariert Schnittstelle / abstrakte Methode zum Klonen von sich selbst

KonkreterP. Implementierung des eigenen Klonvorganges Klient erzeugt neues Objekt durch Klone Operation

seines Prototypen

(7)

Interaktion

Klient→ Prototyp Klient befiehlt seiner Prototypinstanz, sich selbst zu klonen

(8)

Konsequenzen

Gemeinsames mit Abstrakte Fabrik und Erbauer versteckt die konkreten Klassen

Klient kann ohne Ver¨anderung spez. Klassen zu verwenden

Flexibilit¨at M¨oglichkeit w¨ahrend der Laufzeit Produkte hinzuzuf¨ugen oder zu entfernen

Dynamisches Konfigurieren einer Anwendung mit Klassen

Spezifikation erm¨oglicht neue Objkte zu spezifizieren durch die Variation von Werten

oder durch Variation der Struktur

Unterklassen Durch einfachs Klonen brauche ich keine spez.

Erzeugerklassen wie bei der Fabrikmethode

(9)

Allgemeines zur Implementierung

Klonen jede Unterklasse ben¨otigt diese Methode flache oder tiefe Kopie

Verwalter Verwendung eines Prototyp Verwalters wenn Anzahl und Art der Prototyp nicht festgelegt ist Initialisierung bestimmt Initialisierung der geklonten Objekte

nicht m¨oglich

Ubergabeparamter ist Widerspruch zur¨ einheitlichen Schnittstelle

(10)

Das Muster Protoyp beim Bierbrauen

Thema Bierbrauen ohne genau Kenntnisse¨uber das Rezept der Biersorten

Klient Bierbrauer Prototyp Bier(sorten)

Vorgehen Der Bierbrauer bekommt ein Bier einer Sorte Das Bier weiß selbst wie es sich

reproduziert/braut

(11)

Quellcode des/der abstrakten/konkreten Prototypen

abstrakter Prototyp

Konkreter Prototyp 1 Konkreter Prototyp 2

(12)

Quellcode des Klient und Programm

Klient Programm

Ausgabe

(13)

Ein weiteres Beispiel - cookies

(14)

Zusammenhang zu anderen Mustern

Verwandt Konkurenz mit Abstrakter Fabrik aber auch zusammen m¨oglich

Verwendung Kompositionsmuster und Dekoriermuster k¨onnen vom Protoypmuster profitieren

zu seiner Implementierung kann Protyp Singelton verwenden (?)

(15)

Literatur GoF Entwurfsmuster 2004 Diskussion Vewendung von Singelton

...

Danke!

Referenzen

ÄHNLICHE DOKUMENTE

Mit Hilfe eines so genannten softwarebasierten Sicherheitsguides 1 , sollen Kinder im Grundschulalter f¨ur den sicheren Umgang mit dem Internet sensibilisiert werden und den Umgang

Eine Weiterentwicklung stellt das Konzept der zustandsorientierten Instandhaltung dar, bei dem zus¨atzlich das auf- gezeichnete Verhalten eines Indikators in die Zukunft

Alle, die an diesem einzigartigen Projekt beteiligt sind, teilen die Überzeugung, dass Purismus ein Treiber für Nachhaltigkeit sein kann“, sagt Konstantin Grcic, Re:Move- Designer..

Darstellungsweisen des bisherigen Karriereverlaufs (Schule, Ausbildung, Arbeitser- fahrung etc.) sind hier oft verwendete Werkzeu- ge, die informelle Lernbereiche mit einbeziehen.

„Wir wollten eine eigene Maske ent wickeln und herstellen, die sterilisierbar und damit mehrfach einsetzbar ist, hohen Tragekomfort bietet und zuverlässig vor dem Virus

Digitalisierung aller relevanten Regeln, einschließlich der Gesetze und lokalen Vereinbarungen für die Nutzung der Natur.. Digitize

W issenschaftler des Deut- schen Forschungszen- trums für Künstliche Intelli- genz (DFKI; www.dfki.de), Kaiserslautern, haben einen neuen Prototyp zur Ausbil- dung von Ärzten in

Zum anderen sollte und konnte nicht gewartet werden, bis diese -längerfri- stige - Entwicklung abgeschlossen sein würde, sodaß beschlossen wurde, die Überdachung in der