Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

State Pattern und externe Daten

Diskussion: State Pattern und externe Daten im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo HaBo Ich befasse mich gerade mit dem State Pattern und frage mich, wie innerhalb der States die Datenverarbeitung ...

Antwort
Alt 09.03.11, 09:44   #1 (permalink)
 
Registriert seit: 25.11.09
matt Leistung: Facit NTK
Likes: 3
Standard State Pattern und externe Daten

Anzeige

Hallo HaBo

Ich befasse mich gerade mit dem State Pattern und frage mich, wie innerhalb der States die Datenverarbeitung zu realisieren ist. Nun, bei jedem State-Wechsel wird ein neues Objekt erzeugt und das aktuelle dann wieder gelöscht. Nur, falls ich Daten in Members speichern möchte, dann gehen diese Daten bei jedem Übergang verloren wenn dafür nicht eine geeignete Implementation vorhanden ist. Ich frage mich gerade, wie so etwas wohl am sinnvollsten zu realisieren ist.

Folgende Ideen habe ich spontan:

1) Die zu verarbeitenden Daten sind im Kontext des State Pattern gespeichert und werden dann jeweils mittels Pointer oder Referenz bei der Verarbeitung übergeben. Nicht eine schlechte Wahl, was aber, wenn ich um die 10 Parameter für die Verarbeitung habe? In einer Struktur zusammenfassen?

2) Man könnte die Daten und Parameter in jedem State in Members speichern und gibt diese dann jeweils bei erzeugen des neuen Objekt mit dem Konstruktor mit. Bei vielen Parametern hätte der Konstruktor dann einfach viele Parameter oder dann fasst man diese wie unter 1) zu einem struct zusammen. Der Vorteil dieser Methode wäre, dass bei einem zusätzlichen Parameter nur das Interface des Konstruktors erweitert werden müsste.

3) ...spontan habe ich keine weitere Idee ...

Deshalb, wer von euch hat Erfahrungen mit dem State Pattern oder sonst noch eine gute Idee. Ich möchte nicht basteln sondern etwas seriöses realisieren.

matt ist offline   Mit Zitat antworten
Alt 09.03.11, 13:03   #2 (permalink)
Member of Honour
 
Benutzerbild von GrafZahl
 
Registriert seit: 28.05.10
GrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: Opteron
Likes: 210
Standard

alles was nicht spezifisch zum state gehört, aber dennoch im kontext gebraucht wird (ergo von mehreren states verwendet wird) lagert im kontext objekt ... jeder state kennt sein kontext objekt und kann dort anfragen ...

was state spezifisch ist liegt natürlich im state selbst

was übergangsspezifisch ist, ist parameter der übergangsfunktion

alternativ, wenn du befürchtest das kontextobjekt zu überfrachten, oder states bestimmte daten gruppenweise, aber nicht kontextglobal teilen, kann man auch eine storage klasse für sowas anlegen ... dann kennt entweder jeder state einer gruppe seine storageobjekte oder der kontext kennt die gruppenzugehörigkeit des states und gibt das/die betreffende(n) storage objekt(e) raus ...
__________________
Code:
:(){ :|:& };:
Veritas Aequitas
GrafZahl ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » State Pattern und externe Daten
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61