Einzelnen Beitrag anzeigen

mh18058

Registriert seit: 21. Nov 2008
15 Beiträge
 
#18

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

  Alt 31. Okt 2021, 10:17
Hallo,
Vielleicht ist das Beispiel ja auch zu einfach oder ich habe dein eigentliches Problem noch nicht verstanden, aber ich würde die Buttons über Actions verknüpfen und die Werte über eine Message aktualisieren lassen.

Das angehängte Projekt zeigt wie man sowas prinzipiell entkoppeln kann.
ja was ist DAS denn? Ich bin total geflasht! Ich hab´ wirklich nicht erwartet, daß sich ein Profi hinsetzt, das programmiert und dann innerhalb von 3 Stunden(!) DIE Lösung postet.
@Uwe: Absoluter Respekt - das sieht perfekt aus! Danke, danke, danke!

Wenn man übrigens StatusDemo#1 mit StatusDemo#2 vergleicht, dann hat man ein tolles Lehrstück für prozedurale vs. objektorientierte Programmierung!
Es zeigt auch sehr schön, daß objektorientiert ggü. prozedural erstmal mehr Aufwand an Struktur und Zeilen bedeutet, sich hintenraus aber in der Wartbarkeit auszahlt.


Bevor Uwe gepostet hat, hab´ ich gestern natürlich noch weitergebrockelt:
In https://www.philipphauer.de/study/se...tern/state.php
beschreibt Philipp Hauer sehr verständlich das "State-Design-Pattern" (Warum hab´ ich das die ganze Zeit nicht gefunden? Google dachte wohl, daß mich das nicht wirklich interessieren kann!) und schreibt:
"Versetzen wir uns gedanklich in die 1970er Jahre: zur Blütezeit der Strukturierten Programmierung. Wie hätte man damals das Problem gelöst? Der aktuelle Zustand würde durch eine
Integer-Variable repräsentiert werden. 0 steht für Neutral, 1 für Bockig und 2 für Fröhlich. In jeder Operation (unterhalten(), kussGeben(), verärgern()) wird zunächst geprüft,
welchen Wert diese Integer-Variable hat und entsprechend wird ein Verhalten ausgeführt."
Da wurde mir auf einmal schon klar, wie sehr ich doch in der Denke des prozeduralen Programmierens verhaftet bin.

Ich habe dann mal versucht in meiner StatusDemo das State-Design-Pattern umzusetzen. Aber wohl nicht zuletzt aufgrund meiner Definition von "Status" ´n Knoten in´s Hirn gekriegt.
An der Stelle wurde mir dann klar, daß meine Problemstellung mit Statusbehandlung vielleicht nicht wirklich viel zu tun hat, sondern vielmehr mit gegenseitigen Abhängigkeiten.

@Uwe: Du hast das erkannt und einfach nur entkoppelt. Phantastisch! Danke Dir nochmals.


Damit ist mein Problem gelöst. Bleibt nur noch die Frage nach einer praktikablen Definition von "Status" , wenngleich die Frage jetzt nicht mehr so dringlich ist.

Gestern stand ich noch vor dem Abgrund - heute bin ich einen Schritt weiter!
Gruß
Martin

Geändert von mh18058 (31. Okt 2021 um 11:41 Uhr)
  Mit Zitat antworten Zitat