© Logica 2008. All rights reserved
Varianten des “Observer Pattern”
Das Observer Pattern ist ein GoF Entwurfmuster um Ände...
Agenda
• Observer Pattern nach GoF
– Einleitung
– Demo einer Implementierung
– Vorteile / Nachteile
• Event-Basierter Obse...
Observer Pattern
• Subjekt = Beobachtetes Objekt
• Konkreter Beobachter = Konkrete Implementierung eines Beobachters
• Beo...
Observer Pattern (Demo)
• Demo
– Fachobjekt „PersonSubjekt“
– Schnittstelle „IBeobachter“
– Beobachter „DatumBeobachter“
–...
Observer Pattern (Vorteile / Nachteile)
• Pro: Es funktioniert ☺
• Pro: Saubere Architektur
• Contra: Erweiterbarkeit: Vie...
Event Basierter Observer
• Subjekt mit Events
• Attach / Detach über Event und EventHandler
• EventHandler mit EventArgs a...
Event Basierter Observer (Demo)
• Demo
– Fachobjekt „Subjekt“ + Schnittstelle „ISubjekt“
– EventArgs „SubjektEventArgs“ (s...
Event Basierter Observer (Vorteile / Nachteile)
• Pro: Es funktioniert ☺
• Pro: Einfache Erweiterbarkeit durch Events
• Pr...
Observer Komponente
• Anforderung
– Event Basierter Observer
– Windows Forms Komponente
• Lösung
– Observer Komponente, Su...
Observer Komponente (Demo)
• Observer Komponente „SubjektObserver“
– Singleton Liste mit allen Instanzen
◦ New() erweitern...
Observer Komponente (Vorteile / Nachteile)
• Pro: Es funktioniert ☺
• Pro: Visual Studio Unterstützung
• Contra: Fachobjek...
Fragen
Es gibt keine dummen Fragen,
es gibt nur dumme Antworten!
E-Mail/MSN: thomas.mentzel@logica.com
Blog: http://thomas...
Nächste SlideShare
Wird geladen in …5
×

Varianten des "Observer Pattern"

432 Aufrufe

Veröffentlicht am

Varianten des Observer Pattern mit Events, Delegates & Co.

Veröffentlicht in: Software
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
432
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Varianten des "Observer Pattern"

  1. 1. © Logica 2008. All rights reserved Varianten des “Observer Pattern” Das Observer Pattern ist ein GoF Entwurfmuster um Änderungen an einem Objekt in abhängigen Ansichten zu aktualisieren. Das Pattern bietet eine Lösung zur Nachrichtenverteilung innerhalb einer Applikation für eine beliebige Anzahl an Empfängern. Dieser Vortrag stellt verschiedene Alternativen einer Observer Pattern Implementierung vor und zeigt die Vor- und Nachteile auf. Am Ende steht eine Observer-Komponente für eine Windows Forms Applikationen.
  2. 2. Agenda • Observer Pattern nach GoF – Einleitung – Demo einer Implementierung – Vorteile / Nachteile • Event-Basierter Observer – Einleitung No. 223 April 2009 Varianten des “Observer Pattern” – Einleitung – Demo einer Implementierung – Vorteile / Nachteile • Observer-Komponente – Einleitung – Demo einer Implementierung – Vorteile / Nachteile
  3. 3. Observer Pattern • Subjekt = Beobachtetes Objekt • Konkreter Beobachter = Konkrete Implementierung eines Beobachters • Beobachter = Schnittstelle für alle Beobachter Implementierungen • Beobachter.aktualisiere = Aktualisieren der konkreten Beobachter • Subjekt.benachrichtige = Aufrufen der Aktualisierung aller registrierten Beobachter No. 323 April 2009 Varianten des “Observer Pattern”
  4. 4. Observer Pattern (Demo) • Demo – Fachobjekt „PersonSubjekt“ – Schnittstelle „IBeobachter“ – Beobachter „DatumBeobachter“ – Beobachter „EigenschaftenBeobachter“– Beobachter „EigenschaftenBeobachter“ No. 423 April 2009 Varianten des “Observer Pattern”
  5. 5. Observer Pattern (Vorteile / Nachteile) • Pro: Es funktioniert ☺ • Pro: Saubere Architektur • Contra: Erweiterbarkeit: Viele Schnittstellen oder Methoden – Attach / Detach für jede Schnittstelle im Subjekt– Attach / Detach für jede Schnittstelle im Subjekt – Leerimplementierung für nicht benutzte Methoden • Contra: Verwaltungscode im Fachobjekt No. 523 April 2009 Varianten des “Observer Pattern”
  6. 6. Event Basierter Observer • Subjekt mit Events • Attach / Detach über Event und EventHandler • EventHandler mit EventArgs als Schnittstelle No. 623 April 2009 Varianten des “Observer Pattern”
  7. 7. Event Basierter Observer (Demo) • Demo – Fachobjekt „Subjekt“ + Schnittstelle „ISubjekt“ – EventArgs „SubjektEventArgs“ (statt „IBeobachter“) – Beobachter „DatumBeobachter“ – Beobachter „EigenschaftenBeobachter“– Beobachter „EigenschaftenBeobachter“ No. 723 April 2009 Varianten des “Observer Pattern”
  8. 8. Event Basierter Observer (Vorteile / Nachteile) • Pro: Es funktioniert ☺ • Pro: Einfache Erweiterbarkeit durch Events • Pro/Contra: Kein Verwaltungscode im Fachobjekt • Contra: Sehr viele EventHandler in großen Objektbäumen (Vater-Kind) • Contra: Keine Visual Studio Unterstützung • Contra: Auswahl eines Objektes nicht unterstützt No. 823 April 2009 Varianten des “Observer Pattern”
  9. 9. Observer Komponente • Anforderung – Event Basierter Observer – Windows Forms Komponente • Lösung – Observer Komponente, Subjekt als Assoziation– Observer Komponente, Subjekt als Assoziation – Statische Liste mit allen Instanzen der Observer Komponente – SubjektAktualisiert Event – Statische RaiseSubjektAktualisiert Methode (Auslösen des Events aller Instanzen) – Subjekt als Parameter der RaiseSubjektAktualisiert Methode No. 923 April 2009 Varianten des “Observer Pattern”
  10. 10. Observer Komponente (Demo) • Observer Komponente „SubjektObserver“ – Singleton Liste mit allen Instanzen ◦ New() erweitern ◦ Dispose() erweitern – Event „SubjektAktualisiert“ – Statische Methode „RaiseSubjektAktualisiert“– Statische Methode „RaiseSubjektAktualisiert“ – Fachobjekt „Subjekt“ + Schnittstelle „ISubjekt“ – EventArgs „SubjektEventArgs“ – Beobachter „DatumBeobachter“ – Beobachter „EigenschaftenBeobachter“ No. 1023 April 2009 Varianten des “Observer Pattern”
  11. 11. Observer Komponente (Vorteile / Nachteile) • Pro: Es funktioniert ☺ • Pro: Visual Studio Unterstützung • Contra: Fachobjekt ist abhängig von Controller – Pro: *Beobachter rufen die Raise* Methoden auf (Validierung etc.)– Pro: *Beobachter rufen die Raise* Methoden auf (Validierung etc.) • Pro/Contra: Immer genau ein Subjekt im Fokus No. 1123 April 2009 Varianten des “Observer Pattern”
  12. 12. Fragen Es gibt keine dummen Fragen, es gibt nur dumme Antworten! E-Mail/MSN: thomas.mentzel@logica.com Blog: http://thomas.mentzel.name Twitter: http://twitter.com/ThomasMentzel No. 1223 April 2009 Varianten des “Observer Pattern”

×