Proxy Pattern Vorlesung Design Patterns Sieglinde Heinrich

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

Objektorientierte Programmierung
der Universität Oldenburg
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Anwendungen des OODM auf die ADB / NDB
Klassen in Java.
Zusammenfassung des Kapitels 8
Verteilte Software - Java - Prozedurale Programmierung 1
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Daten Anzeigen und Ausdrucken Zu Zeigende Daten (z.B. Studentenplan) Daten in XML müssen geparst und in PDF- Format umgewandelt werden. Dazu iTEXT Bibliothek.
Threads Richard Göbel.
Binäre Bäume Richard Göbel.
Java: Objektorientierte Programmierung
FH-Hof Sockets in Java Richard Göbel. FH-Hof Kommunikation über das Internet - Grundlagen Ein Rechner wird im Internet über die so genannte IP- Adresse.
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
IF-ELSE-IF-Ketten Weiter mit PP..
Ein Beispiel in Java.
Erweiterte Zuweisungskompatibilität
Konstruktoren.
Assoziationen (Beziehungen) 1 : n. Zu einem Auto gibt es mehrere Fahrer (2) und zu diesen 2 Fahrern gibt es genau dieses Auto.
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Assoziationen (Beziehungen). Zwischen Objekten kann es eine Beziehung geben.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
M a r c – o l i v e r p a h l Die ObjektOrientierte Mühle Das Beispiel soll noch einmal das Konzept der Objektorientiertheit erläutern. Dabei werden außerdem.
Programmieren mit JAVA
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
Reverse Engineering 1 Reverse Engineering WS 04 / 05 A. Zündorf.
Software Design Patterns Creational Patterns Structural Patterns Behavioral Patterns –Behavioral Class Patterns Interpreter Template Method Pattern –Behavioral.
F açade P attern By Nicolas Lanquetin. Façade Pattern Structural Pattern Bietet ein gemeinsames Interface, anstatt vieler Interfaces eines Subsystems.
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
DVG Einführung in Java1 Einführung in JAVA.
Abstrakte Klassen, Interface
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
04 - Actions Actions Actions 2 Motivation In verschiedenen Swing-Komponenten werden ausgelöste Aktionen durch ActionListener behandelt. Häufig werden.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Thema: Fibonacci-Zahlen
Bestimmung des ggT zweier Zahlen
Vererbung Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
FH-Hof Singleton Pattern Richard Göbel. FH-Hof Motivation Bestimmte Klassen sollen nur ein Objekt haben Nur ein Fabrikobjekt für eine Fabrikklasse Zentraler.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Rekursive Funktionen (Fakultät)
OO implementieren Teil IV Objekte erzeugen. © René ProbstModul 226IV - 2 Von der Klasse zum Objekt Plan Bau Objekt Klasse Instanzierung Objekt Das Objekt.
Java Performance Tuning Performance Tuning is similar to playing a strategy game but happily you usually get paid for it.
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Parallel Programming Thread Synchronization. Heute 1. Lösung zu Assignment 2 2. Erstellen und Starten von Threads in Java 3. Das synchronized Schlüsselwort.
Design Patterns Ein Muster (pattern) ist eine Idee, die sich in einem praktischen Kontext als nützlich erwiesen hat und dies auch in anderen sein wird.
CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002.
Das Command Muster Deimbacher, Gölles.
Learning By Doing Konstruktoren Gleicher Name wie die Klasse Zur Initialisierung des Objekts, insbesondere mit Parametern Wir immer bei der Objekterzeugung.
Learning By Doing Parallelverarbeitung Multithreading (Nebenläufigkeit) Alte Idee der Parallelverarbeitung statt rein sequentieller Prozesse Parallelverarbeitung.
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Java Thread Scheduling Jin Zhou Proseminar Java Thread Scheduling November 2000.
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Schleifen
Programmiervorkurs WS 2014/15 Instanzmethoden
Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Natürliches Programmieren
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
© 2004 Pohlig Informatik Kurse © 2004 Pohlig Informatik Kurse Der Tramp tanzt die Rekursion zünderUntersuchen(…) Basisfall Rückmeldung:
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Einführung in die Programmierung mit Java
Grundkurs Informatik 11-13
Mit der Turtle Java Programmieren
 Präsentation transkript:

Proxy Pattern Vorlesung Design Patterns Sieglinde Heinrich 21.04.2004 sh34@hdm-stuttgart.de

Abgrenzung

Absicht Motivation Idee Stellvertreter für ein anderes Objekt bietet Kontrolle über Objekt- Erzeugung und –Zugriff Motivation kostspielige Objekt- Erzeugung verzögern (zB: große Bilder) Remote Objekt Sicherheitsfunktion Cache Idee Bild- Stellvertreter (Proxy) verwenden Bild- Stellvertreter verhält sich aus Client- Sicht wie Bild Bild- Stellvertreter erzeugt Bild bei Bedarf

Proxy Pattern - Schema

Konkretes Beispiel

public interface IVehicle { public void start(); public void stop(); public void forward(); public void reverse(); public String getName(); }

public class Car implements IVehicle { private String name; public Car(String name) {this.name=name;} public void start() { System.out.println("Car " + name + " started"); } public void stop() {…} public void forward() {…} public void reverse() {…} public String getName() {…}

public class VehicleProxy implements IVehicle { private IVehicle v; public VehicleProxy(IVehicle v) { this.v=v; } public void start() { System.out.println("VehicleProxy: Begin of start()"); v.start(); System.out.println("VehicleProxy: End of start()"); public void stop() {…} public void forward() {…} public void reverse() {…} public String getName() {…}

public class Client { public static void main(String[] args) { new Client(); } public Client() { IVehicle c = new Car("Audi A7"); IVehicle v = new VehicleProxy(c); v.start(); v.forward(); v.stop();

Fall- Beispiel Protection Proxy (Zugriffskontrolle)  Remote  Ressourcen

Lösung Kommunikation über den Proxy lokalisiert entferntes Objekt und „kommuniziert“ mit ihm Authentifikationsprüfung unötige Zugriffe werden verhindert  zufrieden stellendes Ergebnis

Konsequenzen Der Remote-Proxy Der Schutz-Proxy übernimmt zusätzliche Sicherheitsfunktionen Der Cache-Proxy speichert dieo Daten einer Komponente zwischen

Implementation (technisch) Verantwortlichkeiten dem Stellvertreter zuweisen Abstrakte Basisklasse einführen Funktionen des Stellvertreters implementieren Original und Client von Verantwortlichkeit lösen Original und Proxy verbinden Client vom Original lösen

Weitere Proxy Varianten Virtueller Proxy Schutz- Proxy Synchronisierungs- Proxy Remote- Proxy Firewall- Proxy Counting- Proxy Cache- Proxy

Vielen Dank