Java Reference
In-Depth Information
4.15 Das Verhaltensmuster Rolle
4.15.1
Name/Alternative Namen
Rolle (engl. role oder auch rôle). Das hier vorgestellte Entwurfsmuster Rolle ist in der
Literatur auch als Role Object Pattern (siehe etwa [Bäu97]) bekannt.
4.15.2
Problem
Objekte einer Software stehen in der Regel nicht alleine da. Sie wirken vielmehr mit
anderen Objekten zusammen, indem sie dabei Rollen annehmen. Aus [Bäu97] ist die
folgende Definition entnommen:
Eine Rolle ist ein wahrnehmbarer Verhaltensaspekt eines Ob-
jekts.
Weist ein Objekt zur Laufzeit verschiedene wahrnehmbare Verhaltensaspekte auf, so
spielt es zur Laufzeit dynamisch verschiedene Rollen .
Der Name der aktuellen Rolle, die ein Objekt in einer Kollaboration spielt, kann formal
in einem Objektdiagramm nach UML als Zustand hinter dem Objektnamen angegeben
werden, wie in folgendem Bild gezeigt wird:
:Kandidat
gibt Rangfolge bekannt
1 .. *
beurteilt
1 .. *
:Professor
[Berufungs-
kommissions-
mitglied]
:Professor
[Dekan]
Bild 4-46 Rollen in einem Objektdiagramm
In diesem Beispiel können Objekte der Klasse Professor Mitglieder einer Berufungs-
kommision sein. Jeder Professor als Mitglied einer Berufungskommission beurteilt die
verschiedenen Kandidaten, die sich um eine neue Professorenstelle beworben haben.
Hat die Berufungskommission ihre Entscheidung gefällt, gibt dasjenige Objekt der
Klasse Professor , das die Rolle des Dekans der entsprechenden Fakultät spielt, die
Rangfolge den Kandidaten bekannt. Objekte der Klasse Professor können also ver-
schiedene Rollen spielen: nicht alle Professoren sind Mitglieder einer Berufungskom-
mission sondern nur einige. In diesem Beispiel gibt es auch ein Objekt, das mehrere
Rollen gleichzeitig spielt: Ein Professor als Dekan ist üblicherweise auch Mitglied einer
Search WWH ::




Custom Search