AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Softwareentwicklung im Allgemeinen Projektplanung und -Management Gibt es ein Design-Pattern für den Programm-Status?
Thema durchsuchen
Ansicht
Themen-Optionen

Gibt es ein Design-Pattern für den Programm-Status?

Ein Thema von mh18058 · begonnen am 20. Okt 2021 · letzter Beitrag vom 2. Nov 2021
 
Rollo62

Registriert seit: 15. Mär 2007
3.937 Beiträge
 
Delphi 12 Athens
 
#11

AW: Gibt es ein Design-Pattern für den Programm-Status?

  Alt 21. Okt 2021, 14:38
Möglich wäre auch TMessageManager, davon habe ich unzählige im Dauereinsatz.
Die Messages können wunderbar und ohne Probleme in alle Richtungen verteilt werden, wenn man etwas auf die Threadsicherheit achtet.
Damit läuft quasi mein ganzer App-Unterbau völlig problemlos, und entkoppelt die ganzen Module.

Aber die Diskussionen gegen Singleton verstehe ich auch nicht immer ganz.
Ich habe doch eine MainForm, da könnte ein Status drauf verwaltet werden, ist das nicht auch schon ein "Singleton" ?
Irgendwo muss doch am Ende der "Publisher" persistent sein, damit alle "Subscriber" von ihm informiert werden können.
Ist der "Publisher" dann nicht auch ein Singleton ?
Gerne arbeite ich auch mit Singleton-Klassen der Art "class procedure TDingi.Instance.MachWas; static;", mit einer class var als Instance,
ja das ist definitiv ein Singleton, na und ?

Ich verstehe ja das es GRUNDSÄTZLICH besser ist per Immutable und Messages zu kommunizieren,
aber am Ende muss doch irgendwer, irgendwo immer noch den "State" halten.
Nach meinem simplifiziertem Verständnis ist das doch dann immer ein "Singleton" im weitesten Sinne, und sei es die DB,
oder eine Fileressource, die geteilt werden muss.
Ich halte es z.B. da wo ich Initial den State konfiguriere, und dann an mehreren Stellen auslesen kann, und nur im UI Thread lebt, für durchaus tragbar,
wenn ein Messaging zu aufwendig wäre (Ok, das Faulheitsargument ).

Mein Fazit: Singleton möglichst vermeiden, aber es kann auch gute Gründe geben sowas zu verwenden.
Gundsätzliches Verteufeln ist auch eine schlechte Angewohnheit

Geändert von Rollo62 (21. Okt 2021 um 14:45 Uhr)
  Mit Zitat antworten Zitat
 

 

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 08:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz