私は RequestFactory で GWT 2.4 を使用していますが、まだすべてがはっきりしているわけではありません。
この記事で著者は、エンティティ プロキシを の 1 つのインスタンスで使用し、このエンティティ プロキシを の他のインスタンスで再利用 () したい状況について書きました。RequestContext
edit()
RequestContext
すでに requestContext が割り当てられているため、編集できません。変更したい場合は、このエンティティのインスタンスをサーバーから再度取得する必要があります
しかし、このコードを実行しても例外は発生しません:
RequestContext newRequest1 = factory.myRequest();
newRequest1.edit(proxy);
RequestContext newRequest2 = factory.myRequest();
newRequest2.edit(proxy);
このバージョンを実行すると、autor で説明されている問題 (例外) がポップアップします。
RequestContext newRequest1 = factory.myRequest();
MyProxy edited = newRequest1.edit(proxy);
RequestContext newRequest2 = factory.myRequest();
newRequest2.edit(edited);
したがって、によって返される編集可能なコピーのみedit()
が RequestContext インスタンスに直接関連付けられているようです。
その場合、編集ビューに (編集不可/凍結された) プロキシのインスタンスを 1 つ保持し、ユーザーが「編集」ボタンをクリックするたびedit()
に、新しい新しい RequestContext を使用するアプローチに何か問題がありますか? または、毎回プロキシの新しいインスタンスも取得する必要がありますか?
プロキシの新しいインスタンスを取得するのは少し面倒ですが、1 つのプロキシ インスタンスを再利用すると、変更のデルタをサーバーに送信することに関連する問題が発生する可能性があります。
質問を言い換えると、プロキシの単一インスタンスを複数で再利用することをお勧めしますRequestContexts
か?