1

私たちは、アプリケーションの一部を MVP 方式で構築するという、推奨される GWT アプローチを使用してきました。私たちが使用するロジックは、Google の例に基づいています。Presenter はデータを取得/準備し、View に設定します。View には、呼び出す Presenter への参照が含まれています (UiHandlers など)。

構築したアプリケーションの一部は、他のビューで再利用する必要があります。たとえば、アプリケーションの一部の「メイン ビュー」であることがあるビューは、アプリケーションの別の部分のポップアップ内で使用できます (もちろん、ビュー/プレゼンターは、この他のケースでは異なる方法で初期化されます。でも基本的には同じです)。

このようなことを行うための正しいアプローチは何でしょうか? 醜いハッキーなものに頼らないと、適切なものを見つけることができないようです。

たとえば、再利用されたコンポーネントのプレゼンターをメイン ビュー内に配置すると、再利用されたコンポーネントを初期化するのは簡単ですが、メイン プレゼンターで結果を受け取るのは面倒です。これは、ランナブルを渡すか、カスタム ハンドラーを作成するか、親プレゼンター自体を再利用されたプレゼンターに渡すことで解決できます。

ただし、これらのアプローチはすべて私には正しくないようで、醜いように見えます。アイデア/経験はありますか?

4

2 に答える 2

1

あなたが説明しているのは、2人の異なるプレゼンターによって制御できるビューです。共通のAPIの背後にあるプレゼンターをインターフェースの形で抽象化するだけで十分です。

また、2つの異なるビュー内で使用されている複合ウィジェットとして表示することもできます。次に、複合ウィジェットは、両方のビューが特定のプレゼンターに接続できるイベントとパブリックAPIを公開します。

于 2012-10-19T13:51:47.933 に答える
0

アクティビティと場所を参照してください。アプリの設計と構造化に役立ちます。

https://developers.google.com/web-toolkit/doc/latest/DevGuideMvpActivitiesAndPlaces

于 2012-10-19T06:49:20.640 に答える