2011-12-13 11 views
0

対、私は特定の質問WRTのMVPGWT MVPの歴史1は、ユーザのアクション/イベントに基づいてビューをレンダリングする複数のプレゼンターを持ってGWTアプリケーションでイベント

1を持っている)、複数の発表者との間でデータを渡すための最良の方法は何ですか。例えば、ある発表者はStringや他のObjectを他のプレゼンターに渡す必要があります。もちろん、プレゼンターは依然としてデカップルされるような方法でなければなりません。

2)複数のプレゼンター/ビューの周りをナビゲートするには、イベント、履歴、または両方を使用する必要がありますか?履歴トークンのみを使用し、イベントを持たない特定の欠点はありますか?

答えて

3

presentersの間で複雑な情報を渡すことは、eventsによって最もよく行われます。
しかし、私は完全に無視しませんHistoryブックマークをサポートし、特定のアプリケーションの状態/ビューにロード/戻ることができるようにする場合は、履歴を使用する必要があります。

アクティビティ/プレイスとカスタムイベントのハイブリッドアプローチを使用することができます。

  • 各種プレゼンター/ビューを更新するための解析履歴に基づく履歴トークン(アクティビティ/スポット)
  • ロードアプリケーション状態/情報トークン
  • 使用イベント
1

MVCはGWTで使用するのは簡単ではありません。 GWTのベストプラクティスはMVPモデルです。 Google I/O 2009のプレゼンテーションはgoogle-codeです。

GWTには実際にgood tutorial for MVPがあります。

MVPとMVCの違いについては、非常に詳しくはhere at stackoverflow.comで説明しています。

あなたの質問に直接お答えして申し訳ありませんが、私はあなたの問題は、デザインに適合しないパターンを使用することによって発生すると考えています。 MVPパターンのIMHOでは問題は解決されます。

+0

Oops..I MVPをタイプすることを意図していましたが、背景レンズによってMVCを書くことができました。私はあなたの記事で提案されているものとまったく同じデザインパターンを使用しており、とてもうまく機能しています。私が抱えている唯一の難しさは、発表者の間でデータを渡すことです。その部分だけが不器用です。休憩私はきれいになった! –

+0

今日は記事をもう一度やりましたが、イベントの代わりに歴史を賭けたときに間違った選択をしたように感じます。イベントはデータを非常によく運びますが、私はおそらく初めにその有用性を実感しませんでしたが、今すぐ見ることができます! –

+1

ベストプラクティスは、文字列ではなくオブジェクトを渡すことです。イベントは通常、どのオブジェクトも保持します。履歴のみを使用する場合は、すべてをStringとして渡す必要があります。 IMHOこれは間違いなく、非常に "高価な"(多くの作業を意味します)、内部通信を処理するための不安定な方法です。 – Erik

関連する問題