AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Observer-Pattern Implementation

Observer-Pattern Implementation

Ein Thema von Ghostwalker · begonnen am 10. Nov 2016 · letzter Beitrag vom 11. Nov 2016
 
Der schöne Günther

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

AW: Observer-Pattern Implementation

  Alt 10. Nov 2016, 15:34
Als ich mit Delphi angefangen habe dachte ich auch erst das Observer-Pattern so umsetzen zu müssen, da ich es in Java (vor Java 8) so gelernt hatte.

Vielleicht habe ich es mir jetzt nicht genau angesehen, aber das Interface "Listener" ist doch eigentlich überflüssig, oder? Warum muss mein Objekt eine bestimmte Schnittstelle implementieren, nur um etwas mitzubekommen? Man könnte dem Subject stattdessen eine procedure register(onNotification: TProc) verpassen mit welcher jeder auf dem Observable einmal z.B. sagen kann

Delphi-Quellcode:
someObservable.register(
    procedure()
    begin
        ShowMessage(someObservable.someValue);
    end
);
Man könnte sich auch mehrmals registrieren. Sehe ich mit dieser Implementation nicht wie das ginge.

Das ist glücklicherweise wie man das in letzter Zeit auch häufig ab Java 8 und C++ 11 sieht. Ob das "Turbo Pascal" auch kann weiß ich nicht, ich weiß noch nichtmal was das ist.


Allen Bauer hier auch mal so etwas in die Richtung gebaut:
https://community.embarcadero.com/bl...generics-38865
  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 16:54 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