|
Abb. 1: Das Builder Design Pattern
|
Die Stereotypen:
- «Builder»
- definiert eine abstrakte Schnittstelle zum Erzeugen von Teilen eines Produktobjekts.
- «ConcreteBuilder»
- erzeugt das «ConcreteProduct», indem es die Teile erzeugt und zusammenfügt. Basis sind dabei die
im «Builder» definierten Methoden.
- definiert und verwaltet das von diesem «ConcreteBuilder» erzeugte Objekt.
- bietet eine Schnittstelle, über die das «ConcreteProduct» einem Client zurückgegeben werden kann.
- «Director»
- konstruiert ein Objekt mittels Verwendung der «Builder»-Schnittstelle.
- «ConcreteProduct»
- repräsentiert das gerade konstruierte komplexe Objekt.
- umfasst alle Klassen, die für das komplexe Objekt benötigt werden
Die Interaktionsequenz:
- Der Client erzeugt das «Director»-Objekt und weist diesem den gewünschten «ConcreteBuilder» zu.
- Durch den Aufruf der Konstruktionsmethode des «Director»-Objekts wird der «ConcreteBuilder»
durch den «Director» informiert, wenn ein neues Teil erzeugt werden soll.
- Der «ConcreteBuilder» bearbeitet die Anfragen und fügt die Teile zum «ConcreteProduct» zusammen.
- Der Client erhält das «ConcreteProduct» vom «ConcreteBuilder».
Quelle: E.Gamma, R.Helm, R.Johnson, J.Vlissides: Entwurfsmuster, Addison Wesley Verlag 2004
|