AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Observer Pattern

Ein Thema von FlorianSab · begonnen am 13. Aug 2018 · letzter Beitrag vom 13. Aug 2018
 
Der schöne Günther

Registriert seit: 6. Mär 2013
6.222 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Observer Pattern

  Alt 13. Aug 2018, 17:38
Ich finde ziemlich gefährlich dass ein Observer hier nicht weiß wo er sich angemeldet hat. Vielleicht ist das ja so gewollt und es gibt einen übergeordneten Manager der sich um so etwas kümmert, aber spontan würde mir fehlen dass sich ein Observer spätestens in seinem Destruktor überall wieder abmeldet wo er noch angemeldet ist. Sonst wird dein Subject bei der nächsten Aktualisierung versuchen eine tote Instanz zu benachrichtigen.

Kleinigkeiten:
  • Der Typname TObservers (Plural) ist Quark
  • Man sollte vielleicht überlegen ob man TObservers.Update() nicht gleich virtual abstract macht oder - Hey, noch besser: Die Leute nicht zwingt seine Klasse von TObserver abzuleiten sondern es gleich über ein Interface macht das man implementieren kann (Java-Observable lässt grüßen)

Ganz allgemein:
Das liest sich insgesamt irgendwie wie das typische Java Observer Pattern vor Java 8. In Sprachen die anonyme Methoden/Funktionszeiger schon länger haben (z.B. Delphi, C++, C#, …) hätte ich die Subjects überhaupt nicht mehr an eine Observer-Klasse/Interface gebunden sondern einfach nur eine Collection an Events/Funktionszeigern gegeben die bitte ausgeführt werden wenn sich z.B. durch setState(..) der Zustand ändert.


Du sagst
Zitat:
Verstehe das Konzept des Beobachter Muster noch nicht ganz.
- Was fehlt denn genau? Ein praktischer Anwendungsfall? Eine Umsetzung mit einem Delphi-Formular wo man auch ganz konkret mal etwas zu gucken hat (das finde ich immer motivierend).

Geändert von Der schöne Günther (13. Aug 2018 um 17:40 Uhr)
  Mit Zitat antworten Zitat
 

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz