私たちは、アプリケーションの一部を MVP 方式で構築するという、推奨される GWT アプローチを使用してきました。私たちが使用するロジックは、Google の例に基づいています。Presenter はデータを取得/準備し、View に設定します。View には、呼び出す Presenter への参照が含まれています (UiHandlers など)。
構築したアプリケーションの一部は、他のビューで再利用する必要があります。たとえば、アプリケーションの一部の「メイン ビュー」であることがあるビューは、アプリケーションの別の部分のポップアップ内で使用できます (もちろん、ビュー/プレゼンターは、この他のケースでは異なる方法で初期化されます。でも基本的には同じです)。
このようなことを行うための正しいアプローチは何でしょうか? 醜いハッキーなものに頼らないと、適切なものを見つけることができないようです。
たとえば、再利用されたコンポーネントのプレゼンターをメイン ビュー内に配置すると、再利用されたコンポーネントを初期化するのは簡単ですが、メイン プレゼンターで結果を受け取るのは面倒です。これは、ランナブルを渡すか、カスタム ハンドラーを作成するか、親プレゼンター自体を再利用されたプレゼンターに渡すことで解決できます。
ただし、これらのアプローチはすべて私には正しくないようで、醜いように見えます。アイデア/経験はありますか?