Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Neukonzeptionierung des SVNCheckers > Malte Legenhausen > DLR > 22.09.2008 Folie 1 Observer - Pattern Malte Legenhausen, Robert Werschnitzke Asea Brown.

Ähnliche Präsentationen


Präsentation zum Thema: "Neukonzeptionierung des SVNCheckers > Malte Legenhausen > DLR > 22.09.2008 Folie 1 Observer - Pattern Malte Legenhausen, Robert Werschnitzke Asea Brown."—  Präsentation transkript:

1 Neukonzeptionierung des SVNCheckers > Malte Legenhausen > DLR > Folie 1 Observer - Pattern Malte Legenhausen, Robert Werschnitzke Asea Brown Boveri (ABB) Deutsches Zentrum für Luft- und Raumfahrt (DLR)

2 Neukonzeptioneriung des SVNCheckers > Malte Legenhausen > DLR > Folie 2 Gliederung Das erwartet Sie… Allgemein Wovon reden wir überhaupt? Beispiel Die Tageszeitung UML Darf natürlich nicht fehlen Vor- und Nachteile Benutzen oder nicht benutzen? Beispiel Mal was Praktisches

3 Neukonzeptioneriung des SVNCheckers > Malte Legenhausen > DLR > Folie 3 Allgemein Wovon reden wir überhaupt? Entwurfsmuster -> Verhaltensmuster dient der Weitergabe von Änderungen an einem Objekt bezieht sich auf von diesem Objekt abhängige Strukturen ideal wenn Instanzen verschiedener Klassen über Änderungen informiert werden sollen

4 Neukonzeptioneriung des SVNCheckers > Malte Legenhausen > DLR > Folie 4 Allgemein Ein Bild dazu

5 Neukonzeptioneriung des SVNCheckers > Malte Legenhausen > DLR > Folie 5 Beispiel Die Tageszeitung „veröffentlichen und abonnieren“ wird ständig produziert (aktualisiert) Kunden können ein Abo abschließen oder ein bestehendes kündigen Verlag das Subject (Publisher) Abokunden die Observer

6 Neukonzeptioneriung des SVNCheckers > Malte Legenhausen > DLR > Folie 6 UML Mal ein Klassendiagramm dazu…

7 Neukonzeptioneriung des SVNCheckers > Malte Legenhausen > DLR > Folie 7 UML … und ein Sequenzdiagramm

8 Neukonzeptioneriung des SVNCheckers > Malte Legenhausen > DLR > Folie 8 Vor- und Nachteile Benutzen oder nicht benutzen? Vorteil Subjekt und Observer sind lose gekoppelt Subjekt brauch keine Kenntnisse über die Observer bedient nur die Observer-Schnittstelle Broadcast-Kommunikation Benachrichtigung muss den Empfänger nicht kennen. Nachteil unerwartete Updates: Der Beobachter weiß nicht, wie viele weitere Beobachter es gibt, und kann daher auch nicht einschätzen, wie aufwändig eine Statusänderung ist

9 Neukonzeptioneriung des SVNCheckers > Malte Legenhausen > DLR > Folie 9 Beispiel Mal was Praktisches… Reaktion auf asynchrone Ereignisse GUI Programmierung Reaktion auf Benutzer Ereignisse Observer wird zu Listener Model View Controller - Pattern Lose Kopplung mit dem Model Synchronisierung von Model und View Überwachung von komplexen Objekten bis hin zu einzelnen Attributen PropertyChangeListener (JDK)

10 Neukonzeptioneriung des SVNCheckers > Malte Legenhausen > DLR > Folie 10 Beispiel … und ein bisschen Code public interface FooListener { void somethingHappend(String happening); } public class Foo { private List listeners = new ArrayList (); public void addListener(FooListener listener) { listeners.add(listener); } public void removeListener(FooListener listener) { listeners.remove(listener); } public void notifyListeners(String happening) { for(FooListener listener : listeners) { listener.somethingHappend(happening); }

11 Neukonzeptioneriung des SVNCheckers > Malte Legenhausen > DLR > Folie 11 Beispiel … und ein bisschen Code class Bar { public static void main() { Foo myFoo = new Foo(); FooListener listener = new FooListener() { public void somethingHappend(String happening) { // Do something with the happening... } }; myFoo.addListener(listener);... myFoo.doSomethingWhereSomethingHappend();... myFoo.removeListener(listener); }

12 Neukonzeptioneriung des SVNCheckers > Malte Legenhausen > DLR > Folie 12 Ende Das war es auch schon... Head First, Design Patterns von O‘Reilly


Herunterladen ppt "Neukonzeptionierung des SVNCheckers > Malte Legenhausen > DLR > 22.09.2008 Folie 1 Observer - Pattern Malte Legenhausen, Robert Werschnitzke Asea Brown."

Ähnliche Präsentationen


Google-Anzeigen