Best Practice MVC übers Netzwerk

anTonL

Mitglied
Hi,
ich habe eine Anwendung, die eine ziemlich komplexe Datenstruktur (baumartig aufgebaut) verwaltet. Bei einer standalone-Anwendung hätte ich neben der Model-Datenstruktur noch eine View-Datenstruktur, die ich bspw. über listener in der Model-Datenstruktur up-to-date halte.
Jetzt soll meine Anwendung aber auf einem Server 24/7 laufen, und der Nutzer loggt sich nur ab und zu ein.
Um das zu realisieren, hätte ich zwei Ansätze, zwischen denen ich mich nicht entscheiden kann:
a) Der Nutzer loggt sich ein, eine View-Datenstruktur wird aus dem Model erstellt und der Nutzerapplikation gesendet, weitere Änderungen, die bspw. der Controller veranlasst, werden als Events an die Nutzerapplikation gesendet.
b) Die Serveranwendung verwaltet durchgehend eine "Schatten-View", die bei Nutzeranmeldung diesem gesendet wird, weitere Änderungen über Events vgl. a.

Mein Hauptproblem ist, dass u.U. die Menge an verwalteten Daten sehr groß werden kann, womit die Schatten-view u.U. auch dementsprechend viel Arbeitsspeicher belegt. Andererseits fällt mir kein gutes Konzept ein, wie ich im Falle von a) eine View-"Kopie" des Models erstellen kann, ohne dass mir Eingriffe des Controllers in die Datenstruktur meine View-Kopie asynchron zum Model werden lassen. :(.
 

Thallius

Top Contributor
Ich verstehe nicht so ganz dein Problem. Auf dem Server liegen die Daten also das Modell. Wenn an diesen was geändert werden soll, dann kann das nur ein Client machen. Natürlich kann dieser Client auch ein Programm sein, welches ohne UI auf dem Server läuft aber genauso auch ein Programm das irgendwo auf einem UserClient im Netz läuft. Egal was das Programm macht und wo es läuft. Jedes Programm besitzt die notwendigen Controller und View Schichten um mit dem Model zu kommunizieren.

Gruß

Claus
 

anTonL

Mitglied
Hmm, so hab ich das noch nie gesehen. Ich hätte den Nicht-Nutzer-Clienten direkt auf dem Model arbeiten lassen, jetzt wo du es aber ansprichst, hab ich da wohl einen konzeptionellen Fehler drin...
D.h. es wäre sinnvoller, auch die automatische Datenverarbeitung als Client - wie den Nutzer - zu modellieren. Danke, da hab ich das Problem an ganz falscher Stelle zu lösen versucht :)
 

Ähnliche Java Themen

Neue Themen


Oben