首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT MVP入门问题

GWT MVP入门问题
EN

Stack Overflow用户
提问于 2011-07-06 02:27:10
回答 2查看 592关注 0票数 2

我读了很多关于gwt-mvp的问题,但由于我对这个设计模式完全陌生,所以我想问一些问题:

1活动场所模式是不同于mvp的模式?

2在MVP模式中,展示者包含逻辑。现在小部件/控件的逻辑已经在活动中定义了吗?

3 CustomPlace类是固定的(就像Eclipse插件构造它们一样),或者我可以放入数据/方法和哪种类型的数据/方法?

4 CustomView中Presenter接口的用途是什么?向其中添加哪些数据/方法是有意义的?

5我想构建一个应用程序,它将使用许多数据结构,这些数据结构将保存到数据库中。我在这里读了一些其他的帖子,我会让MVP的模型部分活在每个活动中。因此,我认为在每次开始时创建每个活动的数据结构并加载它的值(如果需要的话,从db),并在用户转到另一个视图后更新数据库。你对这种方法有什么看法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-06 06:07:47

  1. 让我们首先揭穿一个神话: Activities/Places have nothing与MVP无关。地点是关于导航的,活动是关于“组件化”UI wrt地点的。另一方面,MVP是一种设计模式,它是关于如何组织你的代码的。
  2. 许多人使用他们的活动作为MVP的提示者,但它并没有被强制执行。GWT团队正在尝试一种新的方法,其中的活动与演示者不同(如果您想要了解那里正在发生的事情,可以在mobilewebapp示例中进行工作)。你也可以让你的活动成为你的视图,并使用一个“内部”的展示器(类似于单元格部件的工作原理)
  3. 一个地点或多或少是一个网址。你可以放任何你想放的东西。我建议让Place不可变:构建一个Place,goTo它,利用它的属性来构建你的UI。
  4. 这就是MVP。这只需要解耦你的视图和presenter,主要是为了使单元测试中的模拟更容易(虽然这是视图接口的一个特例,但对presenter接口来说不是很多,除非为你的视图编写一个测试工具)。在某些情况下,您可能还希望将相同的视图与不同的presenters一起使用;它们都将实现相同的接口,以便视图可以与它们对话。
  5. 关闭窗口/选项卡如何?我更喜欢使用定期自动保存,或显式保存按钮;并实现mayStop,以便在有未保存的更改时提示用户(类似于大多数桌面办公应用程序的工作方式-e.g。MS Word或LibreOffice-,如果您试图在邮件草稿自动保存之前导航离开,则使用GMail )
票数 3
EN

Stack Overflow用户

发布于 2011-07-06 05:34:06

  1. 活动场所是该模式的一个实现。谷歌在谷歌IO上引入了gwt-mvp模式,但仅在大约一年后将其实现作为GWT的一部分。
  2. 是活动包含业务逻辑。不,小部件/控件通常不包含任何逻辑,它们只是根据用户操作触发事件。作用于这些事件的逻辑是由用户编写的,并且驻留在其他地方。
  3. 我不使用Eclipse,所以不知道它生成的位置。通常,自定义位置可以包含自定义字段和方法。例如,它们可以包含自定义place token参数,即如果place token是"# Place :id1",那么您的自定义Place可以包含包含此参数的字段。
  4. 当视图需要调用/访问Activity时,它通过Presenter实现。例如,当用户在For中输入所有数据并按submit时,您可以在Presenter中使用名为submit(formData).
  5. Preparing/loading data的方法。activity.start(..)中的data是一种常见的操作方式。如果经常使用特定活动,则如果为appropriate.

,则可以考虑缓存数据

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6587157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档