G
da du noch keine experten-antwort hast gebe ich dir meinen Rat:
erzeuge eine Klasse AntwortObjekt in der du die Properties in entsprechenden Objekten abspeicherst.
wenn du auf einn Fehler stösst erzeuge ein neues Antwort-Objekt und schiebe es der Methode unter
oder gib der Antwort-Klasse eine Methode clearData() zum zurücksetzen.
besser scheint mir jedoch nur die fehlerhaften Daten zurückzusetzen, damit die Seite nicht nervt, weil sie völlig senil alle gültigen Einträge löscht.
und spendiere der Klasse eine Methode toString() mit der sie "druckfähig" wird. diese Methode sollte also die Daten für die Ausgabe formatieren.
Ansonsten hab ich noch nicht verstanden warum die Daten so resistent sind. WO werden denn diese Daten gespeichert?
/*edit: muss mir deinen Post nochmal angucken*/
Wenn ich mir deine leseEinträge-Methode angucke, da fällt mir auf: dass sie ihrem Namen nach "Einträge lesen" soll. Wenn ich mir jedoch den Code angucke, entdecke ich "KnowHow" um diese Einträge aus einem antwort-Objekt zu lesen, zu prüfen und zur visuellen Ausgabe in HTML zu formatieren. Ich schhlage generell vor zumindest den Code für die Erzeugung von HTML-Code in der Art von toString() in einer Methode toHTML() zu exportieren. Da macht den Code übersichtlicher und lässt ihn leichter wiederverwenden bzw er muss nicht erneut in anderen Methoden geschrieben werden:
Regel:
Know-How sollte immer genau einmal geschrieben (in einer Methode) geschrieben werden!
Wenn dieses KnowHow gebraucht wird, wird die entsprechende Methode aufgerufen.
Muss dieses KnwoHow geändert werden, muss es genau einmal geändert werden!
Falls dir dieses noch nicht weiterhilft:
WO stehen denn die Daten die auf null gesetzt werden sollen? Warum sind sie nicht null bzw. wo werden sie gestellt und wo müssten sie umgestellt werden?
Wenn ich die Sache Richtig sehe machst du folgendes:
Aus einem Request erzeugst du direkt eine Response. Lege doch eine AbstraktionEbene ein, in der die Angelegenheit ohne HTML-Aspekte der Eingabe sowie HTML-Aspekte der Ausgabe behandelt werden, sondern davon losgelösst (abstrakt also) die Angelegenheit an sich.
im Moment=> HTML-REQ (=> ? ) => HTML-RESPONSE
besser: HTML-REQ => REQ-Object => REQ-CHECK => RESPONSE-Objekt => HTML-RESPONSE
Dadurch hast du zwar mehr Klassen, aber die Methoden werden schlanker und durch ihr reduziertes AufgabenFeld wird der Code verständlicher und leichter handbar bzw. wiederverwendbar.
Ich hoffe ich konnte dir etwas weiterhelfen.