Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: C/S mit Objekten - Grundsatzfrage

  Alt 25. Sep 2012, 20:48
Äh, nee, da hast du das Konzept noch nicht verstanden

Das alles ist so für den Client. Auf dem Server könnten die Daten völlig anders abgelegt sein..

Der Manager nimmt die Objekte entgegen und übergibt diese an die Datenschicht.
Was diese Datenschicht damit macht ist der GUI, dem Objekt und sogar dem Manager sowas von egal.
In diesem Beispiel werden die Daten in eine Textdatei gepackt.
Aber wo wäre das Problem, hier etwas zu haben, was die Daten in einen Stream packt und an einen Server sendet. Oder eine email schreibt - gut das ist sinnlos, aber möglich und es würde sich keiner der restlichen Beteiligten daran stören.
Warum auch, der Manager hat den Wunsch der Speicherung durchgereicht und die Datenschicht meldet zurück "ist erledigt"
Jetzt wird natürlich implizit auch erwartet, dass der Wunsch des Ladens ebenso wieder erfüllt wird.
Frage an den Manager, der an die Datenschicht und die muss jetzt zusehen, wie sie da rankommt.

Aber jetzt mal im Ernst, warum sollte jeder Tastendruck an den Server geschickt werden?
Die Oberfläche (z.B. ein Edit) bekommt einen Wert aus einem Objekt geliefert (DataBinding). Dieser kann jetzt verändert werden.
Wenn alle Änderungen erfolgt sind, dann gibt es eine Entscheidung, diese Daten zu speichern.
Also die Daten von der Oberfläche in das Objekt (DataBinding) und jetzt das Objekt an den Manager.
Der Rest ist wie gehabt.

Für eine Validierung der Daten macht es durchaus Sinn, diese vom Manager überprüfen zu lassen.
Die Vorgehensweise ist die gleiche wie beim Speichern, nur dass dem Manager mitgeteilt wird, diese zu prüfen und eben nicht zu speichern.

Wo die Validierung erfolgt (im Client, ein Teil auf dem Client und ein Teil auf dem Server oder ausschließlich auf dem Server) ist dem Objekt und der GUI wieder sowas von egal. Hauptsache es wurde geprüft und man bekommt zurück ob das ok ist oder wo die Fehler sind.

Achja, die Frage wer holt denn jetzt die Daten?

Es wird eine Entscheidung getroffen, einen TStudent mit der ID 5 zu bearbeiten (Doppelklick auf ein Listenelement einer ListView)

Instanz vom Manager laden lassen
EditFormular aufrufen und Instanz übergeben
DataBinding übergibt die Daten an die GUI
Jetzt darf getippt werden bis zum OK (oder Abbruch)
DataBinding übergibt die GUI Daten an das Objekt
EditFormular wird geschlossen
Instanz an den Manager übertragen zum Speichern
fertisch
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat