Java Reference
In-Depth Information
Diese Lösung ist einfach zu implementieren und wird als Grundform des Entwurfs-
musters Rolle angesehen.
4.15.3.1
Klassendiagramm
Die Klassen der verschiedenen Rollen werden mit RolleX ( X = A..Z ) bezeichnet.
Jede dieser Klassen enthält rollenspezifische Methoden, für die im folgenden Klassen-
diagramm exemplarisch in jeder Rollenklasse die Methode operationX() steht. Wie
bereits erwähnt wurde, hat jede dieser Klassen eine Referenz auf ein Objekt der Klas-
se KernKlasse und bietet eine Methode getKernObjekt() an, mit der das aktuell
referenzierte Kernobjekt abgefragt werden kann. Bild 4-51 zeigt das Klassendiagramm
des Rollenmusters:
RolleA
+ getKernObjekt()
: KernKlasse
+ operationA()
RolleB
+ getKernObjekt()
: KernKlasse
+ operationB()
RolleC
+ getKernObjekt()
: KernKlasse
+ operationC()
KernKlasse
Bild 4-51 Klassendiagramm mit mehreren Rollen für eine Kernklasse
Die Klasse KernKlasse repräsentiert den rollenunabhängigen Teil der Objekte. Die
Klasse KernKlasse wird hier nicht weiter detailliert, weil es sich im Wesentlichen um
eine anwendungspezifische Klasse handelt. Beispiele hierfür sind die bereits genann-
ten Klassen Mitarbeiter und Professor oder Entwicklung , Verkauf und Con-
trolling . Objekte der Klasse KernKlasse können die Rollen spielen, für welche im
Bild 4-51 die Klassen RolleA , RolleB und RolleC stellvertretend stehen.
4.15.3.2
Teilnehmer
Client
Ein Client steht stellvertretend für eine Anwendung, die mit Objekten in verschiedenen
Rollen interagiert.
RolleX
Eine Klasse RolleX ( X = A..Z ) beschreibt eine Rolle, die von einem Kernobjekt ge-
spielt werden kann. Ein Objekt einer Klasse RolleX referenziert dasjenige Kernobjekt,
das diese Rolle gerade spielt. Über diese Referenz kann auch auf die rollenunabhän-
gigen Eigenschaften eines Kernobjekts zugegriffen werden.
 
Search WWH ::




Custom Search