homeSoftwaredesign Softwaredesign: Proxy Prof. Dr. Uwe Schmidt FH Wedel

Proxy

weiter

weiter

Proxy

Klassifizierung
objektbasiertes Strukturmuster
weiter
Zweck
Kontrolle des Zugriffs auf ein Objekt mit Hilfe eines vorgelagerten Stellvertreterobjekts
weiter
Alias
Surrogat
weiter
Motivation
Berechnungen verzögern
Information auf Verlangen berechnen
Caches implementieren
kontrollierter Zugriff
synchronisierter Zugriff auf Objekte, in Java: synchronized Methoden und Blöcke
überwachen von Aktionen
weiter
Beispiel
weiter
Anwendbarkeit
Remote Proxy
Lokaler Stellvertreter für ein Objekt in einem anderen Adressraum
DB-Objekt
Virtual Proxy
Erzeugung auf Verlangen (on demand)
Cache
Beispiel
Ergebnisse von Berechnungen merken
Zugriffsschutz
Trace Proxy
Logging Proxy
Protokollieren von Zugriffen
weiter
Struktur
Strukturdiagramm
weiter
Teilnehmer
  Subjekt
abstrakt
definiert gemeinsame Schnittstelle
  KonkretesSubjekt
konkret
Objekt, das die Arbeit macht
  Proxy
konkret
verwaltet Referenz auf ein echtes Objekt
identische Schnittstelle
kontrollierter Zugriff
zuständig für das Erzeugen und Löschen
object sharing: gemeinsames Nutzen von Daten (Referenzzähler)
weiter
Konsequenzen
zusätzliche Indirektstufe
flexibel: remote, cache, Schutz, ...
copy on write mit Referenzzähler
proxies können in Kaskaden zusammengeschaltet werden:
trace --> cache --> echtes Objekt
weiter
Beispiele
Java Beispiel: cache für Funktionswerte
weiter
Bekannte Verwendungen
WWW proxy
caches
Zugriffsschutz
weiter
verwandte Muster
Unterschied: unterschiedliche Schnittstellen
weiter
ähnliches Muster aber anderer Zweck
weiter
allgemeiner: nicht nur eine Referenz sondern mehrere
weiter

Letzte Änderung: 13.04.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel