2つの単純な「画面」で構成されるGWTアプリを作成するとします。
- ユーザーがアプリを最初に起動したときに表示されるメインメニュー(特定のURLに移動します)-この簡単な例では、ログイン画面などを忘れてください。と
- ユーザーがメインメニューのボタンをクリックしたときにメインメニューの代わりとなる編集設定の「ページ」/画面/ビュー。この[設定の編集]画面には、ユーザーをメインメニューに戻すボタンもあります。したがって
- ユーザーは、メインメニューと編集設定の「ページ」(これはGWTであるため、実際には1ページのアプリ)を1日中移動するだけです。
したがって、このための擬似コードは次のようになります。
public class MainMenuPresenter implements Presenter {
// mainMenuScreen may be a Composite that contains a Button for
// switching/navigating to the EditPreferencesView
private MainMenuView mainMenuScreen;
}
public class EditPreferencesPresenter implements Presenter {
// editPrefsScreen may be a Composite that contains a Button for
// switching/navigating back to the MainMenuView
private EditPreferencesView editPrefsScreen;
}
質問:
Place
aとそれに関連するものはこのパラダイムにどのActivities
ように適合しますか?MVPとプレイス/アクティビティのどちらかを選択する場合、アクティビティ/プレイスパラダイムを使用すると、この例はどのようになりますか?- MVPとActivities/Placesがうまく連携できる場合(相互に排他的ではない場合)、GWTのHistory APIをここに実装して
MainMenuView
、履歴内の1つの「場所」EditPreferencesView
、2番目の「場所」として設定し、許可する方法を教えてください。ユーザーがブラウザの戻る/進むボタンを押して、それらを切り替え続けますか? - MVPとアクティビティ/場所が相互に排他的であり、2つから選択する必要がある場合、上記の質問2のコードに変更が必要な点はありますか?
Place
にどのように結びつくかActivityManager
、どのように/誰が発砲/処理するかにも興味がありPlaceChangeEvents
ますが、後で使用するために保存しておきます。これらの概念に進む前に、これらの概念を理解する必要があります。前もって感謝します!