ActivityMapper,处理变化不大的区域

ActivityMapper, dealing with regions which don't change a lot

我是 GWT 新手,最近我在我的代码中添加了 Actvivities、Places 和 ActivityMappers。每个地区我有一个 ActivityManager-ActivityMapper。 header 或菜单等区域变化不大,因此我必须在 ActivityMapper 中编写大量样板代码,以便每次使用不同的构造函数加载相同的 Presenter。对于每个可能的 Place,我必须为 Presenter 编写另一个构造函数,以便获取 ActivityMapper 提供的实例。有什么办法可以更轻松地做到这一点?此外,每次我们搬到一个新地方时都创建一个新的 Presenter(即使您要加载同一个 Presenter),我对此并不满意。事实上,我对此有一个很大的问题,因为我的活动永远不会消亡,而且它们会不断接收事件。

ActivityMapper returns 与以前完全相同的 Activity 实例(引用相等,即 ==,而不是 equals())时,则 activity没有重启,region也没有动。这是针对那些不经常更改的区域情况的有意优化(例如 headers 或菜单,或 master-detail 设置中的 master 区域)。这也是 CachingActivityMapper(和 FilteredActivityMapper,专门设计用于 master-detail 设置中的 CachingActivityMapper

的原因

在您的情况下,您似乎是在给自己强加一条规则,这使得您很难利用此优化:您正在经过当前位置给你的 activity 的构造函数,没有明显的原因。