假设我想创建一个包含两个简单“屏幕”的 GWT 应用程序:
- 用户在应用程序首次启动时看到的主菜单(他们转到特定的 URL) - 忘记登录屏幕等,对于这个简单的示例;和
- 当用户单击主菜单上的按钮时,一个编辑首选项“页面”/屏幕/视图代替主菜单;此编辑首选项屏幕还有一个按钮,可将用户带回主菜单;因此
- 用户可以整天简单地在主菜单和编辑首选项“页面”(这是 GWT 所以它实际上是一个单页应用程序)之间来回切换
所以这个的伪代码可能看起来像:
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;
}
问题:
- a
Place
和它的关联如何Activities
适应这个范式?如果是在 MVP 和 Places/Activity之间进行选择,那么这个示例在使用 Activities/Places 范式时会如何? - 如果 MVP 和 Activities/Places 可以很好地配合使用(并且不是相互排斥的),那么我们如何在此处实现 GWT 的 History API,以便我们可以将其设置
MainMenuView
为历史中的一个“地方”,EditPreferencesView
作为第二个“地方”,然后允许用户点击后退/前进浏览器按钮并继续在它们之间切换? - 如果 MVP 和活动/地点是互斥的,我必须在两者之间进行选择,那么上面问题 #2 中的代码有什么不同需要更改吗?
我还对a如何Place
与 我需要先了解这些概念,然后才能继续讨论这些概念。提前致谢!ActivityManager
PlaceChangeEvents