Lorsque l'utilisateur accède au site, un panier vide est créé côté client et côté serveur. Lorsqu'il ajoute un produit dans le SC, un appel RPC est effectué pour ajouter le produit du côté serveur. Nous devons faire le même côté client pour être synchronisés et mettre à jour l'interface utilisateur. Si ce n'est pas le cas, passez à une vue qui fait référence à un ancien SC. L'interface utilisateur ne sera pas mise à jour en conséquence (SC vide alors qu'il y a un produit dedans).GWT Synchronisation du client et du modèle de serveur
Solution 1
L'appel RPC renvoie le SC mis à jour et faire clientSC = returnedSC
. Ce n'est pas très efficace car il y a beaucoup de données à transférer sur le réseau.
Solution 2
L'appel RPC renvoie le produit ajouté, et sur le côté client, appeler une méthode addProduct
qui ajouter ce produit à une liste au lieu de le stocker dans le magasin de données (tel que sur le côté serveur) .
Solution 3
solution identique à 2 mais en utilisant un événement pour avertir les présentateurs (j'utilise le modèle MVP) qui ont une référence à un SC.
Lequel est le meilleur, plus généralement quelle est la meilleure pratique pour synchroniser le modèle client et serveur?