多个GWT ActivityManagers和ActivityMappers的用途是什么?

4 java gwt gwt-activities gwt-places

终于发生,我认为你应该编写了一个ActivityMapper解析/检查Place,其子类getActivity(Place)方法传递,并返回相应的Activity呈现给用户.

所以这让我思考:Place在你的应用程序中需要许多不同的子类是有道理的,每个子类代表一个不同的可收藏的URL /状态.

但为什么一个应用程序需要超过1 ActivityManagerActivity Mapper?似乎没有GWT强加的限制哪个Place被映射到哪个Activity......

我听说过每个显示区域都有自己的策略ActivityManager.看起来像我这样只是让你的项目更复杂而没有提供任何真正的好处.提前致谢!

Tho*_*yer 7

在编写了一个包含10个这样的显示区域的应用程序之后,我可以向您保证,它使我们的项目比单一的项目复杂得多(我们可以移除几个区域,然后处理没有活动,但仍然).

它证明是最有用的,当你的显示区域做在同一时间(通常,你并不是所有的变化主要内容往往比你的改变周边预留内容):假设你正在编辑在几十一个非常复杂的实体,这种分裂的屏幕并有在屏幕上的东西,始终是相同的(例如,总结的的顶部实体,给上下文的用户).

专注于您的活动(关注点分离,每个活动的一个问题)也很棒.例如,在stackoverflow(如果是GWT应用程序)上,右侧的侧栏可能与问题及其答案处于同一活动中,但如果您将事物分成不同的活动,则每个活动变得更简单,从而更容易维护.

最后,可以更容易地重组专门活动.例如,分为2个活动的主 - 细节可以很容易地从"同一屏幕上的主/子"(与显示邮件列表和所选消息的大多数邮件客户端相同)更改为"主人和孩子"并返回master"(默认情况下与GMail一样,与大多数移动应用程序一样).这种重组不是改变你在应用程序中导航的方式,而是根据形状因素重复使用不同导航的相同活动(并且使用MVP,你也可以在不改变演示者的情况下调整视图).


话虽如此,确实有很多应用程序不需要/不需要.这并不意味着它没用.