ここの新人。
Ray Ryan の Google IO トークから始めて、Google Developers サイトのいくつかの記事をフォローしました。GWTP、MVP4G、GIN などの GWT アドオンは使用していません。GWT サイトの連絡先の例に従って、私のケースをモデル化しようとしました。
ヘッダー、左側のナビゲーション ツリー、中央のメイン パネルを持つ DockLayout パネルがあります。これはすべて、 DefaultPresenterを実装する単一のDefaultViewにあります。
これで、ユーザーがツリーで何かを実行したときにポップアップするDialogBoxがあり、これはそれぞれDialogViewとDialogPresenterでモデル化されています。
DialogBoxを非表示にすると、AppControllerからDefaultPresenterの新しいインスタンスを呼び出すことになり、これにより新しい DefaultViewが作成され、メインの中央パネルでのツリーの選択とその他の変更がすべてなくなります。
- 履歴の変更時にプレゼンターのインスタンスを新しく作成せずに再利用することはできますか? (たとえば、私の場合はDefaultPresenter )
- MVP パターンでプレゼンター間で値を保持してコントロールを渡す方法はありますか?
- イベント発生時にアプリ コントローラー内にプレゼンターの既存のインスタンスを読み込む方法は?
それとも、MVP アーキテクチャ全体が間違っているのでしょうか? コンポーネントごとに異なるプレゼンターとビューを使用することを計画しています: HeaderPresenter / HeaderView、TreePresenter / TreeView 、 MainContentPresenter/MainContentView ?必要なプレゼンターの新しいインスタンスのみを作成し ( MainContentPresenter など)、既存のものを保持します。そのまま ( TreePresenter や HeaderPresenter など) これで問題は解決しますか? ブラウザ ウィンドウでこのさまざまなビューをすべてつなぎ合わせるにはどうすればよいでしょうか。私は UiBInder を使用していません。基本に固執しているだけです。
すべての専門家を助けてください、私は行き詰まりに陥っています!