2012-11-04 13 views
3

我一直在关注GWT MVP教程(https://developers.google.com/web-toolkit/articles/mvp-architecture-2),虽然这一切都很有意义,但从解释的示例到更大规模的应用程序中,我遇到了一些麻烦。GWT:在MVP设计中,底层页面布局应该被视为一个视图?

特别是,我想使用DockLayoutPanel有一个单独的导航,内容和标题部分。我所挣扎的主要是以下问题:主码头面板在哪里?它是否与它自己的相关主持人一致?这是否构成一个特例,我不想使用视图,因为这实际上只是基本的页面布局?

从以前遇到过类似问题的人那里得到一些实用的见解将不胜感激。

回答

1

嗯,我想一如既往,这取决于。

但我会建议建立一个View(即MainPageView)与它自己的相关Presenter(即MainPagePresenter),即使几乎不存在业务逻辑和View仅定义了应用程序的布局。
也许将来会有一些业务逻辑。
例如,如果要向用户显示警报或通知弹出窗口,您可能会在此View中执行此操作。
因此,您的MainPagePresenter将侦听全局EventBus上的通知事件,并且一旦从嵌套的Presenter触发事件,它将在MainPageView中显示通知弹出窗口。

如果您想要在北面板中显示面包屑,可以使用其他用例。
当然,你可以为面包屑创建一个单独的Presenter,但恕我直言,这是过多的过度工程。你可以但是很容易做到,在MainPagePresenter

我使用GWTP作为我的MVP框架,还有实在是微不足道创建视图/演示对它还支持嵌套PresenterWidgets您可以例如嵌入在任何面板您DockLayoutPanel