Hallo,
meine Frage bezieht sich auf das MVC - Pattern. Ich hab schon im Internet gesucht, dort gibt es nur so viele Antworten, die alle was anderes sagen, dass ich nicht mehr so ganz durchblicke. Ich hab diese Frage auch schon woanders gestellt, aber währenddessen sind mir noch weitere Fragen eingefallen, deshalb stellt ich sie noch einmal hier.
Also die View 'beobachtet' ja das Model und wird bei Änderungen benachrichtigt. Darf nun die Klasse, die als View 'benutzt' wird (also eine GUI-Klasse, die die Swing-Oberfläche erstellt) über getter-Methoden auf die Daten des Models direkt zugreifen und sich die geänderten Daten holen oder muss dies über den Controller geschehen oder ganz anders?
Und wie ist es wenn ich z.B. eine Klasse habe, die für das GUI zuständig ist und der User dort zwischen mehreren Optionen mittels JRadioButtons etwas auswählen und z.B. einen Text in ein JTextField eingeben kann etc. Sollte zu einer 'GUI-Klasse' immer eine Klasse existieren, die als Model 'arbeitet' und in der es für z.B. jeden JRadioButton eine Variable gibt und für das JTextField, so dass man dann z.B. die Belegung der JRadioButtons vom Model abfragt und dort auch wieder speichert, wenn sich etwas ändert.
Also konkret, ich habe ein JTextField. Ich kann etwas hineinschreiben oder es wird z.B. beim Aufruf eines JFileChoosers gesetzt, je nachdem was in dem Feld steht muss die GUI angepasst werden. Schreibe ich die Daten des Feldes bei einer Änderung immer in eine Variable in eine Klasse, die als Model fungiert und berechne dort die Änderungen, die dann wieder vom View abgefragt werden, oder übergebe ich den Inhalt des Feldes erst, wenn ich z.B. auf den Button 'Finish' klicke und 'berechne' die Änderungen erstmal alle in der 'GUI-Klasse'?
meine Frage bezieht sich auf das MVC - Pattern. Ich hab schon im Internet gesucht, dort gibt es nur so viele Antworten, die alle was anderes sagen, dass ich nicht mehr so ganz durchblicke. Ich hab diese Frage auch schon woanders gestellt, aber währenddessen sind mir noch weitere Fragen eingefallen, deshalb stellt ich sie noch einmal hier.
Also die View 'beobachtet' ja das Model und wird bei Änderungen benachrichtigt. Darf nun die Klasse, die als View 'benutzt' wird (also eine GUI-Klasse, die die Swing-Oberfläche erstellt) über getter-Methoden auf die Daten des Models direkt zugreifen und sich die geänderten Daten holen oder muss dies über den Controller geschehen oder ganz anders?
Und wie ist es wenn ich z.B. eine Klasse habe, die für das GUI zuständig ist und der User dort zwischen mehreren Optionen mittels JRadioButtons etwas auswählen und z.B. einen Text in ein JTextField eingeben kann etc. Sollte zu einer 'GUI-Klasse' immer eine Klasse existieren, die als Model 'arbeitet' und in der es für z.B. jeden JRadioButton eine Variable gibt und für das JTextField, so dass man dann z.B. die Belegung der JRadioButtons vom Model abfragt und dort auch wieder speichert, wenn sich etwas ändert.
Also konkret, ich habe ein JTextField. Ich kann etwas hineinschreiben oder es wird z.B. beim Aufruf eines JFileChoosers gesetzt, je nachdem was in dem Feld steht muss die GUI angepasst werden. Schreibe ich die Daten des Feldes bei einer Änderung immer in eine Variable in eine Klasse, die als Model fungiert und berechne dort die Änderungen, die dann wieder vom View abgefragt werden, oder übergebe ich den Inhalt des Feldes erst, wenn ich z.B. auf den Button 'Finish' klicke und 'berechne' die Änderungen erstmal alle in der 'GUI-Klasse'?