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