Ik ben me aan het verdiepen in MVC voor webapplicaties. Dat is nog een puzzel, vooral als de webapplicatie zowel client als server-side code bevat.
Maar goed, de opbouw is als volgt
Een gebruiker drukt bijv. op een knop in de view, de controller doet iets en updated het model. Dit genereert een onupdate event in de controller, die (evt) weer wat processing doet en tegen de view zegt: hier is de nieuwe data, update jezelf.
Zo ver, zo goed. (toch?)
Echter, de view heeft wat tijd nodig voor die update. Het zijn maar ms, maar er moeten DOM-elementen aangemaakt/verwijderd/aangepast worden. In dat tijdsbestek kan de controller alweer een nieuwe opdracht voor de view hebben, die de eerste update doorkruist (bijv. omdat een DOM-element al moet worden aangepast, die in de eerste update aangemaakt moest worden). Dus eigenlijk moet het zo zijn dat de controller wacht totdat de view klaar is.
Mijn vraag: is dit een goede oplossing, of zit er fundamenteel iets verkeerd als ik hierop uitkom?
Maar goed, de opbouw is als volgt
code:
1
2
3
4
5
6
| View | Controller | Model
-----------------------------------------------
user action --> processing -------> update
|
|
update <-- onmodelupdate <--------+ |
Een gebruiker drukt bijv. op een knop in de view, de controller doet iets en updated het model. Dit genereert een onupdate event in de controller, die (evt) weer wat processing doet en tegen de view zegt: hier is de nieuwe data, update jezelf.
Zo ver, zo goed. (toch?)
Echter, de view heeft wat tijd nodig voor die update. Het zijn maar ms, maar er moeten DOM-elementen aangemaakt/verwijderd/aangepast worden. In dat tijdsbestek kan de controller alweer een nieuwe opdracht voor de view hebben, die de eerste update doorkruist (bijv. omdat een DOM-element al moet worden aangepast, die in de eerste update aangemaakt moest worden). Dus eigenlijk moet het zo zijn dat de controller wacht totdat de view klaar is.
code:
1
2
3
4
5
6
7
8
9
| View | Controller | Model
-----------------------------------------------
user action --> processing -------> update
|
|
update <-- onmodelupdate <--------+
|
|
+-------------> onviewready |
Mijn vraag: is dit een goede oplossing, of zit er fundamenteel iets verkeerd als ik hierop uitkom?