Erbauer


 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


 
Stand: 31.03.2005, Autor: Jens Günther