Genau das, was Sir Rufo hier anspricht, ist grob mein Problem bie der Validierung. Denn das Model kann durchaus asynchron zur View laufen, wenn in der View falsche Daten stehen und diese somit nicht aufs Model übernommen werden. Ebenso will ich evtl. auch einen "Zurücksetzen"-Button haben, der nicht das Model neu aus der
DB lädt, oder einen Abbrechen-Button, der keinerlei Änderungen der aktuellen Dialogs übernimmt. Würde ich alle Änderungen live ins Model übernehmen, habe ich dann ja mehr oder weniger Probleme... An der Stelle hat das dann nichts mehr mit Usability zu tun.
Das ist halt die Sicht der
GUI-Designers. Bisher habe ich dafür noch keine gute Methode gefunden, außer die View mit den Daten aus einem Model zu füllen und dann ein neues Model für die Validierung zu erstellen, denn darin ist der Validierungs-Code bzw. die Constraints -- ob das nun in einer Validate-Methode oder in den Settern implementiert ist, ist zunächst mal egal.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)