Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.009 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#11

AW: Kontrollflussarchitektur bei Ereignissen: Geschmackssache?!?

  Alt 8. Feb 2017, 15:22
Das Hauptproblem, was ich mit der unmittelbaren Verarbeitung eines Eventhandlers sehe, ist, dass möglicherweise die UI "einfriert", sollte das Event abarbeiten etwas länger dauern.
In solchen Fällen würde ich die Abarbeitung aber lieber asynchron durchführen (thread), um möglichst schnell wieder aus dem Event Trigger zurückzukehren.

Somit kannst du beide Fälle mit einem Modell abarbeiten ohne dir explizit irgendwelche States zu merken oder das ganze Eventsystem aufzublasen.

Alternativ schraubst du in deine Listener nen event/message bus und lässt den die Arbeit asynchron/verzögert erledigen.
Dort können dann auch doppelte Events ausgefiltert werden im Sinne von, ich muss nich erst das Event von "hat sich auf 3x9 geändert" feuern, wenn danach noch eins für "hat sich auf 2x9 geändert" in der Queue liegt.

In Frameworks with ReactiveX (leider gibts da *noch* keine Implementierung für Delphi) gibts da z.B. verschiedene Möglichkeiten für.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie ( 8. Feb 2017 um 15:27 Uhr)
  Mit Zitat antworten Zitat