G
Gelöschtes Mitglied 6946
Gast
Nachdem ich nun den halben Tag in den zig Threads zum Thema MVC hier ergebnislos gesucht habe, stell ich die Frage mal hier in den Raum. Die Tutorials und Beispiele, die ich gefunden habe, sind zumeist so klein, dass sie mein Problem nicht abdecken.
Ich habe eine Struktur von mehreren Klassen, die die Daten und damit das Model bilden. Prinzipiell ruft die View die gewünschten Daten ab und registriert sich "beim Model", damit dieses die View über Änderungen informieren kann. Nur stelle ich mir die Frage, wo genau sich die View registrieren soll - an jeder einzelnen Klasse des Models? So könnte die View sehr gezielt auf Änderungen reagieren, aber der Aufwand in den Model-Klassen selber wäre nervig, weil man entweder überall den Listener-Mechanismus implementieren müsste oder jedes (möglicherweise POJO) Objekt von Observable abgeleitet sein müsste, was auch nicht gerade das Gelbe vom Ei ist.
Oder wäre es sinnvoller, eine große, zentrale Model-Klasse zu bauen? Diese würde die registrierten Views verwalten und außerdem alle Veränderungen aufnehmen. Das würde aber bedeuten, dass ich eine riesige, aufgeblähte Klasse habe, in der ich die Setter sämtlicher kleiner Klassen vereinen müsste, damit ich auch jede Veränderung mitbekomme.
Keine der beiden Varianten will mir so recht gefallen. Eine andere Möglichkeit, dass der Controller die View über Veränderungen des Models informiert, will ich eigentlich nicht umsetzen, da das nur dann funktioniert, wenn es nur diesen einen Controller gibt - bei einem weiteren View-Controller-Paar zum Model gäbe es dann schon Probleme, wenn in einer Darstellung Daten geändert werden, die in einer anderen zu sehen sind.
Wenn jemand grundsätzliche Lösungsvorschläge oder gar Literaturen hat, dann immer her damit - beim groben Überblick im Buchladen hab ich nix gefunden, was sich direkt damit beschäftigt.
Ich habe eine Struktur von mehreren Klassen, die die Daten und damit das Model bilden. Prinzipiell ruft die View die gewünschten Daten ab und registriert sich "beim Model", damit dieses die View über Änderungen informieren kann. Nur stelle ich mir die Frage, wo genau sich die View registrieren soll - an jeder einzelnen Klasse des Models? So könnte die View sehr gezielt auf Änderungen reagieren, aber der Aufwand in den Model-Klassen selber wäre nervig, weil man entweder überall den Listener-Mechanismus implementieren müsste oder jedes (möglicherweise POJO) Objekt von Observable abgeleitet sein müsste, was auch nicht gerade das Gelbe vom Ei ist.
Oder wäre es sinnvoller, eine große, zentrale Model-Klasse zu bauen? Diese würde die registrierten Views verwalten und außerdem alle Veränderungen aufnehmen. Das würde aber bedeuten, dass ich eine riesige, aufgeblähte Klasse habe, in der ich die Setter sämtlicher kleiner Klassen vereinen müsste, damit ich auch jede Veränderung mitbekomme.
Keine der beiden Varianten will mir so recht gefallen. Eine andere Möglichkeit, dass der Controller die View über Veränderungen des Models informiert, will ich eigentlich nicht umsetzen, da das nur dann funktioniert, wenn es nur diesen einen Controller gibt - bei einem weiteren View-Controller-Paar zum Model gäbe es dann schon Probleme, wenn in einer Darstellung Daten geändert werden, die in einer anderen zu sehen sind.
Wenn jemand grundsätzliche Lösungsvorschläge oder gar Literaturen hat, dann immer her damit - beim groben Überblick im Buchladen hab ich nix gefunden, was sich direkt damit beschäftigt.