1

ここの新人。私のユースケースの1つでGWTを使用してモデルビュープレゼンターパターンを実装する際に、この特定の問題があります。

Ray Ryan の Google IO トークから始めて、Google Developers サイトのいくつかの記事をフォローしました。GWTP、MVP4G、GIN などの GWT アドオンは使用していません。GWT サイトの連絡先の例に従って、私のケースをモデル化しようとしました。

これが問題です。

このような AppController onValueChage メソッドがあります

   public void onValueChange(ValueChangeEvent<String> event) {
   if(token != null){
    presenter = null;

    if(token == "display")
    {

    presenter = new DefaultPresenter(rpcService, eventBus, new DefaultView());
    }
    else if(token == "popup")
    {
    presenter = new PopUpPresenter(rpcService, eventBus, new PopUpView());      
    }
    else if(token == "dialog")
    {
    presenter = new DialogPresenter(rpcService, eventBus, new DialogView());
    }

    if (presenter!= null) {
       presenter.go(container);
     }
    }
}

そして、私のアプリはこのように流れます。最初に表示し、そこで選択するとダイアログが発生し、次にダイアログが変数を設定します。そして、ダイアログが非表示になったら、元のディスプレイに戻って続行する必要があります。しかし問題は、履歴が変更されるたびにプレゼンターの新しいインスタンスを作成することになるため、同じビューで元のDisplayPresenterに戻ることができないことです。

太字で示されているものはすべて、プレゼンターを拡張する個別のプレゼンターで あり、すべて特定のビューを持っています。

質問? 1. 履歴が変更されるたびに、プレゼンターの新しいインスタンスを作成するという迷いから抜け出すのを手伝ってください。

  1. MVP パターンでプレゼンター間で値を保持してコントロールを渡す方法はありますか?

  2. イベント発生時にアプリコントローラー内にプレゼンターの既存のインスタンスをロードする方法は?

  3. イベント発生時にアプリコントローラー内にプレゼンターの既存のインスタンスをロードする方法は?
4

1 に答える 1

1

プレゼンター間で状態情報を渡す (質問 #1) に関しては、Placesを確認すると役立つ場合があります。

于 2012-08-12T02:31:29.173 に答える