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.
.
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.