Wenn der Benutzer auf die Site kommt, wird ein leerer Einkaufswagen auf der Client- und Serverseite erstellt. Wenn er ein Produkt in den SC einfügt, wird ein RPC-Aufruf durchgeführt, um das Produkt auf der Serverseite hinzuzufügen. Wir müssen dieselbe Clientseite verwenden, um synchron zu sein und die Benutzeroberfläche zu aktualisieren. Wenn nicht, wechseln wir zu einer Ansicht, die einen Verweis auf einen alten SC enthält. Die Benutzeroberfläche wird nicht entsprechend aktualisiert (leerer SC, obwohl ein Produkt darin enthalten ist).GWT Synchronisieren des Client- und Servermodells
Lösung 1
Der RPC-Aufruf gibt die aktualisierte SC und tun clientSC = returnedSC
. Es ist nicht sehr effizient, da viele Daten über die Leitung übertragen werden müssen.
Lösung 2
Der RPC-Aufruf liefert das zusätzliche Produkt und auf der Client-Seite, rufe eine Methode addProduct
, die das Produkt zu einer Liste hinzuzufügen, anstatt sie in dem Datenspeicher (wie auf der Serverseite) Speicher .
Lösung 3
gleiche wie die Lösung 2, sondern ein Ereignis verwenden, um die Moderatoren in Kenntnis zu setzen (I verwenden, um das MVP-Muster), die einen Verweis auf einen SC hat.
Welches ist das Beste, was ist die beste Vorgehensweise, um das Client- und Servermodell in Übereinstimmung zu halten?