Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Mehrfachbehandlung von Events (https://www.delphipraxis.net/185112-mehrfachbehandlung-von-events.html)

Sir Rufo 17. Mai 2015 18:48

AW: Mehrfachbehandlung von Events
 
Zitat:

Zitat von Stevie (Beitrag 1301841)
Zitat:

Zitat von Dejan Vu (Beitrag 1301840)
Wie kommst Du auf Singleton? :gruebel:

Hab ich einfach mal so angenommen (immerhin macht es System.Messaging so vor) - aber ok, kein Singleton. Und wie wissen nun Producer und Consumer von diesem "einen einzigen Multicasteventcontroller"?

Wo ist denn bei System.Messaging ein Singleton? :gruebel:

Ja, es gibt eine Default-Instanz für den Anwendungs-Kontext, aber man kann sich soviele eigene Messenger erzeugen, wie man möchte, das spricht ja gegen Singleton.

Stevie 17. Mai 2015 20:49

AW: Mehrfachbehandlung von Events
 
Zitat:

Zitat von Sir Rufo (Beitrag 1301847)
Zitat:

Zitat von Stevie (Beitrag 1301841)
Zitat:

Zitat von Dejan Vu (Beitrag 1301840)
Wie kommst Du auf Singleton? :gruebel:

Hab ich einfach mal so angenommen (immerhin macht es System.Messaging so vor) - aber ok, kein Singleton. Und wie wissen nun Producer und Consumer von diesem "einen einzigen Multicasteventcontroller"?

Wo ist denn bei System.Messaging ein Singleton? :gruebel:

Ja, es gibt eine Default-Instanz für den Anwendungs-Kontext, aber man kann sich soviele eigene Messenger erzeugen, wie man möchte, das spricht ja gegen Singleton.

Dann grep doch mal den FMX Code durch, ob da jemals eine Instanz von TMessageManager erzeugt wird, oder ob nicht an allen knapp 200 Stellen TMessageManager.DefaultManager genutzt wird. Wenn man nämlich ne selbsterzeugte Instanz benutzt, dann müsste man sie ja irgendwo in die beteiligten Akteure übergeben (Stichwort Dependency Injection). Nur leider passt das ja nicht so ganz zu der TComponent Architektur, gell?

Zeig mir doch mal Code, wo TComponents mit einer injekteten TMessageManager Instanz arbeiten und das einfacher zu nutzen ist, als nen multicast event.

Sir Rufo 17. Mai 2015 21:13

AW: Mehrfachbehandlung von Events
 
Ahm, ja, aber das ist doch auch ok so, denn wenn ich etwas von der Anwendung mitbekommen möchte, dann klinke ich mich in den einen Messenger ein. Wie gesagt, dieser DefaultManager ist für den Anwendungs-Kontext. Da laufen zentral die internen Nachrichten drüber (Form erzeugt, Anwendung idle, ...)

Aber ist das schlimm?

Ich denke wir reden aneinander vorbei, denn diesen System.Messenger würde ich nicht für die Events benutzen von denen wir hier eigentlich sprechen wollten. Dafür baut man sich eine Struktur - so wie in Spring4D - und baut diese in die Klassen mit ein.

Stevie 18. Mai 2015 01:14

AW: Mehrfachbehandlung von Events
 
Du nicht, aber Dejan Vu, so wie ich #6 verstanden habe.

Dejan Vu 18. Mai 2015 07:49

AW: Mehrfachbehandlung von Events
 
Du meinst, das das eine blöde Idee war? Immerhin, es war Sonntag, out of office, Postvatertagnachwirkungsgehirnabsenkung. Aber immerhin. Eine Idee. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 Uhr.
Seite 2 von 2     12   

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 by Thomas Breitkreuz