我如何使用新的GWT MVP框架?

gwt*_*ser 4 mvp gwt

我需要一个新的GWT MVP框架的教程,在这里介绍.

谷歌给出的描述对我来说有点简短.以下是什么含义 - 以及如何使用 - 以下内容?

  • 活动
  • 地方
  • Eventbus
  • ClientFactory
  • PlaceHistoryMapper
  • ActivityMapper

此外,这个新框架中的模型在哪里?

Ril*_*ark 8

地方

这些类编码有关程序导航位置的信息.你可能会做出Place这样的意思,"我在主屏幕上",另一个意思是"我正在编辑id为52384的用户.我认为这些更好的名字将是PlaceTags,因为它们实际上不是放置自己 - 他们只是指出你的程序在哪里.这个URL被挂钩到a PlaceHistoryMapper中的地方,你可以说,"嘿,#home应该生成一个HomeScreenPlace和#edituser:52384应该生成一个EditUserPlace(可能用你设置的字段构建)到52384).

活动

这些启动和停止代码.每个Activity都有一个start适当时调用的方法.您可以通过创建一个ActivityMapper具有调用函数的函数来确定"适当时"的含义getActivity. getActivity接受a Place,你必须决定Activity返回哪个.如果Place你编码的意思是"我在主屏幕上",你可能会返回一个HomeScreenActivity,如果Place意思是"我正在编辑id为523584的客户端",你可能会返回一个EditClientActivity.您可以向活动添加方法或构造函数以传入像523584这样的ID.

EventBus

这是程序的不同部分用于通信的对象.如果您不想这样做,您不需要太了解它 - 您只需将其插入Google文档中指明的位置(您链接到的)

ClientFactory

这是一个集中的对象,其唯一的责任是制作其他对象.如果你想简化一些事情,你也可以跳过这个概念 - 你只会错过对象的中心组织.优点是,如果您想稍后将其切换出来,例如移动版本或模拟测试版本,您可以在一个地方同时完成所有操作,而其余程序则不会根本不得不改变.在从中心位置进行协调时,您也可以轻松地重复使用相同的对象,因此每次有人访问#home时都不必重新创建整个主屏幕.

你的实际计划

所有这些东西都只是用于导航.您的模型,视图和主持人在每个都设立了Activity小号start()的方法,该框架调用时,你的应用应该导航到一个新的地方.在该start方法中,您应该启动您的演示者(通常使用新实例)并启动您的显示(通常重用一个实例 - 客户端工厂对此有利).当您创建了显示器时,您可以通过将框架设置为AcceptsOneWidget框架传递给start方法的窗口小部件来让框架知道.

这不完整,但对您提到的文档有很好的补充:http://code.google.com/intl/de-DE/webtoolkit/doc/latest/DevGuideMvpActivitiesAndPlaces.html