私はついにGWTを「取得」し始めています。いつでも、次のようPlaceChangeEvent
にアプリで起動できます。EventBus
History.newItem("token-for-some-new-place");
これにより、イベントがバスに追加されます。これにより、登録された はそれをActivityManager
すくい上げ、その内部を調べて、のに関連付けられたActivityMapper
を与えます。Activity
PlaceChangeEvent
Place
( Activity
MVP/MVC のプレゼンターまたはコントローラー オブジェクトと同様) は、(サーバーへの RPC 呼び出しを介して) 必要なデータを取得し、ビジネス ロジックを実行して、表示する最終的なビュー (通常Composite
は何らかの種類の) を構成します。
ホスト ページに表示領域が 1 つしかない非常に単純な GWT アプリについて話している限り、前述のように「理解」できます。
私がいま気になっているのは、アプリに複数の表示領域 (互いに非同期に更新できる領域) が含まれている場合にどうなるかということです。
だから私は尋ねます:
ActivityMapper
sはどの程度の粒度である必要がありますか? すべての s をすべてのies にAppActivityMapper
マップするアプリ全体が 1 つだけですか、それとも、複数のマッパーがある場合に何らかの階層/分解が必要ですか? (そして、これに対するあなたの答えが「これはアプリケーションのニーズに依存します」という行に沿ったものである場合は、適切なレベルの粒度を実現する要件/ニーズを説明してください!)Place
Activity
ActivityMapper
Place
aがアプリ内の URL トークンを表している場合(Place
a をブックマーク可能な状態にするため)、複数の表示領域 (D1、D2、D3) を持つより複雑なアプリがあるとどうなりますか。1 つの URL トークン (つまり ) はどのようhttp://myapp.com/#token-for-some-new-place
に D1、D2、および D3 にマップされますか? つまり、すべてのメソッドが呼び出されるアクティビティ ( )ActivityMapper#getActivity
のリストを返すことができなければならないということではないでしょうか?List<Activity>
start(AcceptsOneWidget, EventBus)
ここで助けてくれてありがとう - コード例は常に揺れ動く.