Java Reference
In-Depth Information
Client
Der Client ruft die Methoden eines Objekts über eine Referenz auf das Interface
ISchnittstelleDerEchtenKlasse der echten Klasse auf. Welches Objekt (Objekt
der Klasse Proxy oder EchteKlasse ) sich dahinter verbirgt, spielt für den Client kei-
ne Rolle. Wie die Referenz gesetzt wird, wird durch das Muster nicht festgelegt. Da der
Client ein Interface als Typ für die Referenz nutzt, ist er nicht abhängig von der Aus-
prägung der Klassen, die dieses Interface implementieren. Zum Setzen der Referenz
können beispielsweise Techniken der Dependency Injection (siehe Kapitel 1.10.2) ein-
gesetzt werden.
EchteKlasse
Die echte Klasse implementiert die Methoden des Interface ISchnittstelleDer-
EchtenKlasse .
Proxy
Die Klasse Proxy implementiert die Methoden des Interface ISchnittstelleDer-
EchtenKlasse und hält eine Referenz auf ein echtes Objekt. Das Objekt der Proxy-
Klasse delegiert bei der Implementierung des Interface in der Regel einen Aufruf einer
Methode an das echte Objekt weiter. Je nach Art der Proxy-Variante werden außer der
Delegation an das echte Objekt bei einem Methodenaufruf beispielsweise Statistiken
erstellt, Rechte geprüft etc. (siehe Kapitel 4.8.5).
4.8.3.3 Dynamisches Verhalten
Der Client ruft eine Methode des Proxy -Objekts auf. Der Aufruf wird in der Regel an
das Objekt der Klasse EchteKlasse weitergeleitet und abgearbeitet. Das Ergebnis
wird danach an den Client zurückgegeben.
Das folgende Bild zeigt ein Sequenzdiagramm des Proxy-Musters für ein bereits vor-
handenes echtes Objekt:
:Client
:Proxy
:EchteKlasse
operation()
operation()
operation() : result
operation() : result
Bild 4-26 Sequenzdiagramm des Proxy-Musters
Da das Muster nicht festlegt, wie das Proxy-Objekt Kenntnis vom echten Objekt er-
langt, kann das Proxy-Objekt beispielsweise zur Laufzeit das echte Objekt bei Bedarf
erzeugen. Dies ist im folgenden Programmbeispiel ausgeführt.
 
Search WWH ::




Custom Search