Java Reference
In-Depth Information
4.8.3.1 Klassendiagramm
In Bild 4-25 wird das Proxy-Muster im Allgemeinen dargestellt:
«interface»
ISchnittstelleDer-
EchtenKlasse
«use»
Client
operation()
Proxy
EchteKlasse
operation()
operation()
Bild 4-25 Klassendiagramm Proxy-Muster
Die Klasse EchteKlasse und die Klasse Proxy implementieren dasselbe Interface
ISchnittstelleDerEchtenKlasse . Dadurch kann ein Proxy-Objekt als Stellver-
treter eines echten Objekts fungieren. Über das Interface des echten Objekts stellt das
Proxy-Objekt die Methoden des echten Objekts dem Client-Programm zur Verfügung.
Das Proxy-Objekt schiebt sich einfach zwischen zwei vorhandene Objekte (Client und
echtes Objekt). Wenn der Client eine Methode vom Typ des Interface bei einem Objekt
aufruft, so bedeuted das, dass der Methodenaufruf bei einem Objekt einer Klasse
stattfindet, das dieses Interface implementiert. Das kann ein echtes Objekt sein, aber
auch ein Stellvertreter-Objekt, das den Methodenaufruf des Clients entgegennimmt
und ihn an das echte Objekt weiterleitet.
Außer der Delegation kann das Stellvertreter-Objekt - wie schon gesagt - eine zusätz-
liche Funktionalität durchführen. Es ist auch möglich, dass das Stellvertreter-Objekt
einen Methodenaufruf komplett selbst ausführt, ohne das echte Objekt zu benutzen,
wenn es dazu in der Lage ist. Dies ist z. B. der Fall, wenn Konstanten des echten
Objekts abgefragt werden, die auch der Proxy hat. Beispiele für mögliche Varianten
des Proxy-Musters sind in Kapitel 4.8.5 zu finden.
Ein Client hat eine Referenz vom Typ des Interface ISchnitt-
stelleDerEchtenKlasse . Diese Referenz zeigt in der Regel
auf ein Objekt der Klasse Proxy, also auf ein Stellvertreter-Objekt
- was aber für einen Client verborgen ist. Ein Client weiß also
nicht, wie Methodenaufrufe, die er an das referenzierte Objekt
stellt, in der Folge weiterverarbeitet bzw. weiterdelegiert werden.
4.8.3.2 Teilnehmer
ISchnittstelleDerEchtenKlasse
Das Interface ISchnittstelleDerEchtenKlasse stellt die Methodenköpfe einer
echten Klasse zur Verfügung, die vom Client verwendet werden.
Search WWH ::




Custom Search