Java Reference
In-Depth Information
KernKlasse
Die Klasse KernKlasse repräsentiert die rollenunabhängigen Eigenschaften von Ob-
jekten. Eine Instanz dieser Klasse ist ein Objekt, das die Rollen RolleX annehmen
kann. Spielt ein Kernobjekt eine bestimmte Rolle, dann wird es von einem entspre-
chenden Rollenobjekt referenziert.
4.15.3.3
Dynamisches Verhalten
Das folgende Sequenzdiagramm zeigt, wie eine Anwendung - hier durch ein Objekt
der Klasse Client repräsentiert - sowohl Rollenoperationen ausführen als auch rol-
lenunabhängige Kernfunktionen bei dem referenzierten Kernobjekt aufrufen kann:
:Client
:RolleX
:KernKlasse
operationX()
operationX() : result
getKernObjekt()
getKernObjekt() :
objekt
kernFunktion()
kernFunktion() : result
Bild 4-52 Sequenzdiagramm für eine Rollenoperation und eine Kernfunktion
Dem Client ist anfangs nur das Rollenobjekt bekannt. Rollenspezifische Operationen
wie beispielsweise operationX() können daher vom Client direkt aufgerufen werden
und werden von der Instanz der Klasse RolleX beantwortet. Aufrufe von Kern-
funktionen kann der Client dadurch bewerkstelligen, dass er sich zuerst mit Hilfe der
Methode getKernObjekt() eine Referenz auf das Kernobjekt besorgt, das diese
Rolle gerade spielt. Über diese Referenz kann dann eine Methode des Kernobjekts
wie beispielsweise kernFunktion() aufgerufen werden.
4.15.3.4
Programmbeispiel
In dem folgenden Beispiel wird die in Kapitel 4.15.3 vorgestellte Grundform des Mus-
ters implementiert. Das bedeutet, dass ein Rollenobjekt den Zugriff auf das aggregierte
Kernobjekt über eine get-Methode ermöglicht.
Das Programm greift das bisher schon benutzte Beispiel auf und realisiert einen klei-
nen Ausschnitt einer Unternehmensverwaltung. Die Klasse Mitarbeiter ist in die-
sem Beipiel die Kernklasse. Die Kernklasse hat im Rahmen des Entwurfsmusters Rol-
le nur eine untergeordnete Bedeutung. Die Klasse Mitarbeiter ist daher im Beispiel
einfach und übersichtlich gehalten. Von der Kernklasse Mitarbeiter gibt es die In-
stanzen maier und schulze . Diese können in den Abteilungen Entwicklung und Ver-
kauf arbeiten. Der Mitarbeiter schulze erhält Aufgaben in beiden Abteilungen und
nimmt somit zwei Rollen gleichzeitig an.
Search WWH ::




Custom Search