F açade P attern By Nicolas Lanquetin. Façade Pattern Structural Pattern Bietet ein gemeinsames Interface, anstatt vieler Interfaces eines Subsystems.

Slides:



Advertisements
Ähnliche Präsentationen
M a r c – o l i v e r p a h l Informatik I – Kapitel 7 Klassen und höhere Datentypen Zusammenfassung des Kapitel 7 Küchlin, Weber, Einführung in die Informatik,
Advertisements

der Universität Oldenburg
der Universität Oldenburg
Objektorientierte Programmierung
der Universität Oldenburg
Klassen - Verkettete Liste -
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
Klassen in Java.
Zusammenfassung des Kapitels 8
Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden
Verteilte Software - Java - Prozedurale Programmierung 1
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
3 Sprachelemente und Anweisungen JavaHS Merseburg (FH) WS 06/07 Strings (Zeichenketten)
Threads Richard Göbel.
Binäre Bäume Richard Göbel.
Listen Richard Göbel.
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..
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
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.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
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.
Objektorientierte Programmierung JDK-Klassenbibliothek
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Programmieren mit JAVA
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
Proxy Pattern Vorlesung Design Patterns Sieglinde Heinrich
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
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.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Universität zu Lübeck Institut für Informationssysteme Die Anwendungsschicht Implementierung der Geschäftsprozesse und Rechte.
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.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Abteilung für Telekooperation Übung Softwareentwicklung 2 für Wirtschaftsinformatik Dr. Wieland Schwinger
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002.
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
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
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Schleifen
Programmiervorkurs WS 2014/15 Instanzmethoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Natürliches Programmieren
© 2004 Pohlig Informatik Kurse © 2004 Pohlig Informatik Kurse Der Tramp tanzt die Rekursion zünderUntersuchen(…) Basisfall Rückmeldung:
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Felder in Java.
Cäsar-Verschlüsselung
Grundkurs Informatik mit Java
Schleifen mit der Turtle
Cäsar-Verschlüsselung
 Präsentation transkript:

F açade P attern By Nicolas Lanquetin

Façade Pattern Structural Pattern Bietet ein gemeinsames Interface, anstatt vieler Interfaces eines Subsystems Vereinfacht Zugriff auf das Sybsystem.

Idee Client-Klassen können über die Façade-Interface auf die Interfaces des Subsystems zugreifen.

Beteiligte Klassen Façade –weiss wofür die Subsystem-Klassen zuständig sind. –delegiert Anfragen an diese Klassen weiter. Subsystem-Klassen –kümmern sich um die Arbeit die ihnen von der Façade zugeteilt wird. –wissen garnicht dass es die Façade gibt.

Beispiel-Diagramm

// "SubSystem ClassA" class Bank { public boolean SufficientSavings(Customer c) { System.out.println("Check bank for + c.Name); /*... */ return true; } Beispiel-Code

// "SubSystem ClassB" class Credit { public boolean GoodCredit(int amount,Customer c) { System.out.println("Check credit for + c.Name); /*... */ return true; }

// "SubSystem ClassC" class Loan { public boolean GoodLoan(Customer c) { System.out.println("Check loan for + c.Name); /*... */ return true; }

class Customer { // Fields private String name; // Constructors public Customer(String name) { this.name = name; } // Properties public String Name { get {return name;} }

// "Façade" class MortgageApplication { // Fields int amount; // der Geldbetrag private Bank bank = new Bank(); private Loan loan = new Loan(); private Credit credit = new Credit(); // Constructors public MortgageApplication(int amount) { this.amount = amount; } // Methods public boolean IsEligible(Customer c) { // Kunde bankfähig? if(!bank.SufficientSavings(c)) return false; if(!loan.GoodLoan(c)) return false; if(!credit.GoodCredit(amount, c)) return false; return true; }

// Fa ç ade Client public class FacadeApp { public static void main(String[] args) { // Create Fa ç ade MortgageApplication mortgage = new MortgageApplication(125000); // Call subsystem through Fa ç ade mortgage.IsEligible( new Customer("Gabrielle McKinsey")); }

Wann wenden wir Façade an Simple Interface für komplexe Subsysteme. Einheitlicher Zugriff möglich => Subsystem ist unabhängig von Client-Klassen. Erschaffen von Layers: Alle Subsysteme sind über ihre Façade- Interface ansprechbar => Übersichtlicher Portieren (z.B. zu anderen OS) erleichtert.

Quellen Bsp-Code: