Java Reference
In-Depth Information
Beim Proxy in diesem Beispiel handelt es sich um eine Art Virtueller Proxy (siehe Ka-
pitel 4.8.5). Solange ein Client nur den Namen wissen will, werden somit "teure" Datei-
operationen vermieden. Erst wenn jemand auf den Inhalt der Datei zugreifen will, wird
das eigentliche Dateiobjekt erzeugt.
4.8.4 Bewertung
4.8.4.1 Vorteile
Die folgenden Vorteile werden gesehen:
x Bereits bestehende Anwendungen können mit dem Proxy-Muster erweitert werden
(siehe Kapitel 4.8.5).
x Der Funktionsumfang eines Proxys kann individuell gestaltet werden.
x Das Proxy-Muster verdeckt die Architektur des zugeordneten Systems, so dass der
Client nur das Interface des echten Objekts kennen muss (Transparenz der Imple-
mentierung).
x Es wird ein Stellvertreter (Proxy) des echten Objektes erzeugt. Erst wenn be-
stimmte, im Wesentlichen von der Art der Proxy-Variante abhängige Operationen
durchgeführt werden sollen, braucht man das echte Objekt.
x Durch die zusätzliche Zwischenschicht eines Proxy kann bei Operationen, die kein
Original benötigen, z. B. beim Caching der Anfragen, ein Performance-Gewinn ent-
stehen.
4.8.4.2 Nachteile
Die folgenden Nachteile werden gesehen:
x Die Fehlersuche wird beim Zwischenschalten eines Proxys erschwert.
x Durch die zusätzliche Zwischenschicht eines Proxy entsteht beim Zugriff auf das
Originalobjekt ein Performance-Verlust, da eine Weiterleitung (Delegation) erfolgt
und dies mit Aufwand verbunden ist.
4.8.5 Einsatzgebiete
In folgenden Situationen kann das Proxy-Muster eingesetzt werden:
x Wenn der Ort des echten Objekts verborgen werden soll. Der entsprechende Proxy
wird als Remote-Proxy bezeichnet und wird in diesem Kapitel im Detail erläutert. Ein
Remote-Proxy ist beispielsweise ein zentraler Bestandteil des Broker-Musters
(siehe Kapitel 5.4).
x Wenn das echte Objekt nicht verändert werden kann, aber eine Methode durch
einen Proxy statisch erweitert werden soll. Der Proxy übernimmt dann die Funk-
tionserweiterung und leitet anschließend den Aufruf an die eigentliche Methode des
echten Objekts weiter. Die zusätzliche Funktionalität kann sich unter anderem auf
die Verteilung von Ladezeiten, Statistiken, Filterung, Pufferung, Synchronisierung
und Einführung einer Rechteverwaltung beziehen.
Search WWH ::




Custom Search