Liebes Forum!
Ich habe den MVC-Pattern grundsätzlich verstanden und habe mir auch schon einige Beispiel durchgesehn bzw. selbst implementiert.
Leider wird der Pattern immer so erklärt:
Das Modell ist ein Objekt wie z.B. eine Person. Über getName, getNachname, etc. holt sich die View die Daten des Modells. (immer Primitive Datentypen).
Natürlich muss man, wenn Daten im Modell verändert werden, über den Controller das Modell informieren.
Was ich nicht verstehe, ist, wenn das Modell komplexer ist. Z.B. eine Personendatenbank welches durch ein Modell-Objekt repräsentiert wird, dass eine Liste von Personen enthält. Wenn ich nun auf der View Seite eine JTable mache und sich die View die PersonenListe vom Modell holt, dann werden die Änderungen ja direkt übernommen: sprich, man brauch die Model nicht informieren.
Ist das ein richtiges vorgehen oder darf man solche "Short-Cuts" nicht verwenden? Wie würde man so etwas richtig implementieren? Darf man Objekte an die View übergeben oder nur primitive Datentypen.
Bin für jeden Hinweis dankbar
Ich habe den MVC-Pattern grundsätzlich verstanden und habe mir auch schon einige Beispiel durchgesehn bzw. selbst implementiert.
Leider wird der Pattern immer so erklärt:
Das Modell ist ein Objekt wie z.B. eine Person. Über getName, getNachname, etc. holt sich die View die Daten des Modells. (immer Primitive Datentypen).
Natürlich muss man, wenn Daten im Modell verändert werden, über den Controller das Modell informieren.
Was ich nicht verstehe, ist, wenn das Modell komplexer ist. Z.B. eine Personendatenbank welches durch ein Modell-Objekt repräsentiert wird, dass eine Liste von Personen enthält. Wenn ich nun auf der View Seite eine JTable mache und sich die View die PersonenListe vom Modell holt, dann werden die Änderungen ja direkt übernommen: sprich, man brauch die Model nicht informieren.
Ist das ein richtiges vorgehen oder darf man solche "Short-Cuts" nicht verwenden? Wie würde man so etwas richtig implementieren? Darf man Objekte an die View übergeben oder nur primitive Datentypen.
Bin für jeden Hinweis dankbar
Zuletzt bearbeitet: