-LABORPRAKTIKUM- SOMMERSEMESTER 2005

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

Imperative Programmierung
Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Stephan Munkelt, Stefan Salzmann - 03IN.
Harald Köbler Software Design Patterns Prototype.
Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
Kapitel 4 Datenstrukturen
der Universität Oldenburg
Design Patterns- Entwurfsmuster
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Die Firewall Was versteht man unter dem Begriff „Firewall“?
Objektorientierter Entwurf (OOD) Teil 3: Qualitätsmodell
Java: Dynamische Datentypen
Indirekte Adressierung
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
Komponentenbasierter Taschenrechner mit CORBA
Polymorphie (Vielgestaltigkeit)
Polymorphie (Vielgestaltigkeit)
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Einsatz von XML zur Kontextspeicherung in einem agentenbasierten ubiquitären System Faruk Bagci, Jan Petzold, Wolfgang Trumler und Theo Ungerer Lehrstuhl.
Komplexpraktikum Laufzeitumgebung für Komponenten mit QoS - Anforderungen Brit Engel.
Fliegengewicht Ein objektbasiertes Strukturmuster.
Sebastian Grahn Sebastian Kühn
Das Strukturmuster Kompositum von C. Günther, T. Hammerschmidt und D. Kuhn.
Einführung in die Programmierung mit Java
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
Remote Methode Invocation (RMI)
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Folie 1 Christian Pfeffer Carsten Walther Fernstudium Informatik Matrikel LABORPRAKTIKUM- SOMMERSEMESTER 2005 Umsetzung von Pattern Muster: DECORATOR.
Sicherheit von mobilem Code Hauptseminar: Sicherheit in vernetzten Systemen Sicherheit von mobilem Code Oliver Grassow.
Entwurfsmuster – Iterator
Entwurfsmuster EDV Entwurfsmuster.
1 Dienstbeschreibung mit DAML Ein graphischer Editor für DAML - Ting Zheng Betreuer: Michael Klein, Philipp Obreiter.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Steuerung externer Komponenten über ein USB-Interface.
EXCEL PROFESSIONAL KURS
Repetitorium PG : Pointer FH-Darmstadt, FB Informatik.
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Konzepte der objektorientierten Programmierung
Eine Präsentation von Peter Rasser
UML-Kurzüberblick Peter Brusten.
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Polymorphie (Vielgestaltigkeit). Wenn eine Methode, wie z.B. print für verschiedene Programmteile steht (und z.B. einmal Objekte verschiedener Klassen.
Software Design Patterns
Spezifikation der Module / Programme
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Computergrafik-Praktikum Abschlusspräsentation Sierpinski Sarah Voß und Lars Jung Johann Wolfgang von Goethe Universität Frankfurt am Main Institut für.
Java-Kurs Übung Besprechung der Hausaufgabe
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
Entwurfsmuster (Design Pattern)
Laborpraktikum Umsetzung von Pattern SS 05 Prof. Paul, Dipl.-Inf. Fröhlich, Dipl.-Inf. Linke {paul | iti.cs.uni-magdeburg.de
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:
Design Pattern1 Motivation Entwurfsmuster Entwurf wiederverwendbarer objektorientierter Software schwer gute Entwürfe entstehen durch Wiederverwen- dung.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Strategy Pattern Teachlet Autor: Sven Wende Replay durch Stephan Schwake Konzepte objektorientierter Programmiersprachen, SS 2006.
ResA am Arbeitsplatz Das Vorgehen ist angelehnt an „5 S“ und bietet Ihnen die Möglichkeit das Konzept der 5 Disziplinen ressourcenschonenden Arbeitens.
Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS Automatische Speicherverwaltung.
Einführung DI Harald Sander.
Java-Kurs - 8. Übung Klassen und Objekte: Vererbung
Grundkurs Informatik 11-13
1. Die rekursive Datenstruktur Liste 1.5 Das Entwurfsmuster Kompositum
Implementieren von Klassen
Informatik Softwareentwicklung – 4.3 Entwurfsmuster
 Präsentation transkript:

-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 Proxymuster und ihre Eigenschaften Struktur Schlussfolgerungen Implementierung Verwandte Muster Zweck Motivation Anwendbarkeit Proxymuster und ihre Eigenschaften Struktur Schlussfolgerungen Implementierung Verwandte Muster

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

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

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

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

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

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

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

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

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

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

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

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

Fragen ?