1 / 15

-LABORPRAKTIKUM- SOMMERSEMESTER 2005

-LABORPRAKTIKUM- SOMMERSEMESTER 2005. „Umsetzung von Pattern“. Muster: Proxy Gruppe: Lars Waldmann Anja Fiegler Quelle: Gamma, E., Helm, R., Jonson, R., Vlissides, J., „Entwurfsmuster“, Addison Wesley, Bonn, 1996. Inhalt. Zweck Motivation Anwendbarkeit

lupita
Download Presentation

-LABORPRAKTIKUM- SOMMERSEMESTER 2005

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. -LABORPRAKTIKUM-SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster: Proxy Gruppe: Lars Waldmann Anja Fiegler Quelle: Gamma, E., Helm, R., Jonson, R., Vlissides, J., „Entwurfsmuster“, Addison Wesley, Bonn, 1996

  2. Inhalt • Zweck • Motivation • Anwendbarkeit • Proxymuster und ihre Eigenschaften • Struktur • Schlussfolgerungen • Implementierung • Verwandte Muster • Zweck • Motivation • Anwendbarkeit • Proxymuster und ihre Eigenschaften • Struktur • Schlussfolgerungen • Implementierung • Verwandte Muster

  3. 1. Zweck • Zugriffskontrolle auf ein Objekt, durch Vorlagerung eines Stellvertreterobjektes • auch als Surrogate bezeichnet • Zweck • Motivation • Anwendbarkeit • Proxymuster und ihre Eigenschaften • Struktur • Schlussfolgerungen • Implementierung • Verwandte Muster

  4. 2. Motivation • Verzögerung der vollen Kosten für die Erzeugung und Initialisierung bis das Objekt tatsächlich benutzt wird • z.B. ein Editor, der grafische Objekte einbetten kann, die Erzeugung mancher grafischen Objekte, wie z.B. großer Bilder, kann sehr teuer sein, so dass es vermieden wird, alle teuren Objekte auf einmal zu erzeugen • teure Objekte werden also erst auf Verlangen erzeugt • bei dem Bildproxy also erst dann, wenn das Bild sichtbar wird • Verwendung eines anderen Objektes (Proxy) anstelle des Bilds  Platzhalter • Proxy Verhalten entspricht dem des Bildes • Erzeugung des Bildes, wenn es benötigt wird • Zweck • Motivation • Anwendbarkeit • Proxymuster und ihre Eigenschaften • Struktur • Schlussfolgerungen • Implementierung • Verwandte Muster

  5. 3. Anwendbarkeit • Proxymuster ist anwendbar – wenn Bedarf nach einer anpassungsfähigen und intelligenteren Referenz auf ein Objekt als einen einfachen Zeiger besteht • Folgende Proxymuster sind anwendbar • Remote Proxy • Virtuelles Proxy • Schutzproxy • Smart – Reference • Cache Proxy • Zweck • Motivation • Anwendbarkeit • Proxymuster und ihre Eigenschaften • Struktur • Schlussfolgerungen • Implementierung • Verwandte Muster

  6. 4. Proxymuster und ihre Eigenschaften • Remote Proxy • stellt einen lokalen Stellvertreter für ein Objekt in einem anderen Adressraum dar • Kodieren eine Anfrage und ihre Argumente und senden sie an das eigentliche Subjekt in einem anderen Adressraum • Zweck • Motivation • Anwendbarkeit • Proxymuster und ihre Eigenschaften • Struktur • Schlussfolgerungen • Implementierung • Verwandte Muster • Virtuelles Proxy • erzeugt teure (speicher- oder zeitintensive) Objekte erst bei wirklicher Benutzung , wie z.B. der Bildproxy • Können zusätzliche Informationen über das eigentliche Objekt zwischenspeichern, so dass sie den Zugriff verzögern

  7. 4. Proxymuster und ihre Eigenschaften • Schutzproxy • kontrolliert den Zugriff auf das Originalobjekt, wird verwendet, um verschiedenen Objekten unterschiedliche Zugriffsrechte auf ein Objekt zu gewähren • Überprüfen, dass der Aufrufer die zum Ausführen des Befehls notwendigen Zugriffsrechte besitzt • Smart-Reference • ist ein Ersatz für einen einfachen Zeiger, der zusätzliche Aktionen ausführt, wenn auf das Objekt zugegriffen wird, z.B. Referenzzählung, Persistenzsicherung und Locking • Zweck • Motivation • Anwendbarkeit • Proxymuster und ihre Eigenschaften • Struktur • Schlussfolgerungen • Implementierung • Verwandte Muster

  8. 4. Proxymuster und ihre Eigenschaften • Cache Proxy • Häufig angeforderte Objekte, die sich selten ändern werden zwischengespeichert, um die Ergebnisse der Anforderungen sofort und kostengünstig liefern zu können • Häufiger Einsatz als Internet Proxy • Zweck • Motivation • Anwendbarkeit • Proxymuster und ihre Eigenschaften • Struktur • Schlussfolgerungen • Implementierung • Verwandte Muster

  9. 5. Struktur • Struktur Proxymuster • Zweck • Motivation • Anwendbarkeit • Proxymuster und ihre Eigenschaften • Struktur • Schlussfolgerungen • Implementierung • Verwandte Muster

  10. 5. Struktur • Objektdiagramm einer Proxystruktur zur Laufzeit • Zweck • Motivation • Anwendbarkeit • Proxymuster und ihre Eigenschaften • Struktur • Schlussfolgerungen • Implementierung • Verwandte Muster

  11. 6. Schlussfolgerungen • Proxymuster führen eine Ebene der Indirektion beim Zugriff auf ein Objekt ein • Vielfältige Verwendung dieser Indirektion, je nach Proxymuster : • Remote-Proxy kann die Tatsache verstecken, dass ein sich Objekt in einem anderen Adressraum befindet • Virtuelles Proxy kann Optimierungen ausführen, wie z.B. das Erzeugen eines Objektes auf Verlangen • Schutzproxies und Smart-References ermöglichen die Durchführung zusätzlicher Verwaltungsaufgaben, wenn auf das Objekt zugegriffen wird • Zweck • Motivation • Anwendbarkeit • Proxymuster und ihre Eigenschaften • Struktur • Schlussfolgerungen • Implementierung • Verwandte Muster

  12. 7. Implementierung • Implementierung eines Cache Proxy in Java • Aufruf der Sinusfunktion über einen Cache Proxy • letzten zurückgegebenen Funktionswerte im Proxy speichern • Wenn Funktionswert schon im Cache Proxy • sofortige Rückgabe des Funktionswertes • Wenn Funktionswert nicht im Cache Proxy • Berechnung des Funktionswertes • Löschen eines alten Funktionswertes im Cache Proxy • Eintragen des neuen Funktionswertes in den Cache Proxy • Rückgabe des Funktionswertes an den Klienten • Zweck • Motivation • Anwendbarkeit • Proxymuster und ihre Eigenschaften • Struktur • Schlussfolgerungen • Implementierung • Verwandte Muster

  13. 7. Implementierung • Darstellung als UML Klassen Diagramm • Zweck • Motivation • Anwendbarkeit • Proxymuster und ihre Eigenschaften • Struktur • Schlussfolgerungen • Implementierung • Verwandte Muster

  14. 8. Verwandte Muster • Adapter • bietet eine andere Schnittstelle zum Objekt, dass es anpasst der Proxy bietet im Gegensatz dazu dieselbe Schnittstelle wie sein Objekt (Subjekt) • Dekorierer • können eine ähnliche Implementierung wie Proxies haben, verfolgen aber anderen Zweck • Dekorierer erweitern ein Objekt um eine oder mehrere Zuständigkeiten, während ein Proxy den Zugriff auf das Objekt kontrolliert • Zweck • Motivation • Anwendbarkeit • Proxymuster und ihre Eigenschaften • Struktur • Schlussfolgerungen • Implementierung • Verwandte Muster

  15. Fragen ?

More Related