这里是菜鸟。
我刚从 Ray Ryan 的 Google IO 演讲开始,并关注了 Google Developers 网站上的一些文章。我没有使用任何 GWT 附加组件,例如 GWTP 或 MVP4G 或 GIN 或任何其他东西。只是按照 GWT 网站上的联系人示例并尝试为我的案例建模。
我有一个DockLayout面板,它有一个标题、左侧的导航树和一个中央主面板。所有这些我都在一个实现DefaultPresenter的DefaultView中。
现在我有一个DialogBox,当用户在树中执行某些操作时会弹出它,这分别在DialogView和DialogPresenter中建模。
现在,当我隐藏DialogBox时,我最终会从AppController调用DefaultPresenter的一个新实例,这会创建一个新的 DefaultView并且我的所有树选择和主中央面板中的其他更改都消失了。
- 是否可以重复使用演示者的实例而无需在历史更改上创建新的实例?(例如,在我的情况下为DefaultPresenter )
- MVP 模式中有没有一种方法可以在具有持久值的演示者之间传递控件?
- 如何在事件触发时在应用控制器内加载演示者的现有实例?
还是我把整个 MVP 架构弄错了?我现在计划为我的每个组件设置不同的演示者和视图,比如HeaderPresenter / HeaderView、TreePresenter / TreeView 、 MainContentPresenter/MainContentView?所以我只会创建我需要的演示者的新实例(如MainContentPresenter)并保留现有的照原样(如TreePresenter 和 HeaderPresenter)这能解决我的问题吗?我将如何在浏览器窗口中拼接所有这些不同的视图?我没有使用 UiBIinder,只是坚持基础。
各位高手帮帮我,我陷入了僵局!