首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT: MVP Presenter界面

GWT: MVP Presenter界面
EN

Stack Overflow用户
提问于 2013-03-12 04:46:20
回答 4查看 1.2K关注 0票数 1

我试图理解关于活动和地点的gwt示例是如何工作的(https://developers.google.com/web-toolkit/doc/latest/DevGuideMvpActivitiesAndPlaces)。我想知道为什么他们为演示者定义了一个接口。我知道视图界面有助于轻松地交换视图。但是presenter接口有什么用呢?

EN

回答 4

Stack Overflow用户

发布于 2013-03-12 11:16:37

使用接口而不是具体的类来设计应用程序始终是一种最佳实践。

What does "program to interfaces, not implementations" mean?

  • Reference - WikiPedia example for MVP

  1. 参考
票数 0
EN

Stack Overflow用户

发布于 2013-03-12 14:21:15

MVP architecture中,让你的设计变得非常整洁的另一个关键因素是定义一个Presenter interface(我们已经知道JAVA中接口OOP concept的美妙之处)。

Presenter接口,它允许我们的View在收到事件时callbackpresenter中。Presenter接口定义了以下内容:

代码语言:javascript
复制
public interface Presenter<T> {
 void onAddButtonClicked(); 
}

然后,您可以将演示者设置为您的视图,如下所示

代码语言:javascript
复制
private Presenter<T> presenter;
  public void setPresenter(Presenter<T> presenter) {
    this.presenter = presenter;
  }

最后,当您的PresenterConcreteClass实现presenter接口时,这些implementations将触发。

票数 0
EN

Stack Overflow用户

发布于 2013-03-12 17:51:19

除了使用界面的整洁之外,你没有理由不测试你的视图。您可以使用端到端测试,但也可以简单地使用GWTTestCase实例化视图并使用模拟呈现器。

然后你就可以测试“当我点击这个按钮时,它应该以值X,Y和Z作为参数从展示器调用这个方法”,或者“当我用这些参数调用视图的这个方法时,这样的小部件应该变成红色,而另一个小部件应该隐藏/折叠/显示/其他任何东西”。

有一次,我还用它构建了一个简单的测试床应用程序,用来用假数据手动测试UI。这个应用程序由一些按钮组成,用来模拟演示者用假数据调用视图,并用Window.alert或类似的东西处理演示者从视图中回调。您将在浏览器中启动应用程序,并单击此处和此处,然后验证视图是否按预期工作。

当您稍后将字段添加到窗体中时,这将非常有用,以确保您将其与演示者正确连接。你不想从真正的presenter设置你的GWT-RPC/RequestFactory/任何服务,当一个单元测试就足够了。

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

https://stackoverflow.com/questions/15348286

复制
相关文章

相似问题

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