gpt4 book ai didi

java - GWT:地点和 ActivityMappers 的粒度

转载 作者:行者123 更新时间:2023-12-02 15:38:26 24 4
gpt4 key购买 nike

我终于开始“了解”GWT了。任何时候,一个PlaceChangeEvent可以在应用程序的 EventBus 上触发像这样:

History.newItem("token-for-some-new-place");

这会将事件添加到总线,从而注册 ActivityManager将其捞起并查阅其内部ActivityMapper给它 ActivityPlaceChangeEvent 相关的Place .

Activity (类似于 MVP/MVC 中的演示者或 Controller 对象)然后获取所需的任何数据(通过对服务器的 RPC 调用)并执行任何业务逻辑并配置最终 View (通常是某种类型的 Composite)以显示.

只要我们谈论的是一个 super 简单的 GWT 应用程序,它的主页上只有一个显示区域,那么就像我说的,我“明白”它。

当您有一个包含多个显示区域(可以相互异步更新的区域)的应用程序时,会发生什么情况,这让我感到窒息。

所以我问:

  1. 粒度如何 ActivityMapper应该是吗?是否只有一个应用程序范围 AppActivityMapper映射所有 Place致所有人Activity是的,或者应该有某种ActivityMapper层次结构/分解,哪里有多个映射器? (如果您对此的回答类似于“这取决于您的应用程序的需求”,那么请解释哪些要求/需求驱动了适当的粒度级别!)
  2. 如果 Place表示应用程序中的 URL token (为了使 Place 成为可添加书签的状态),那么当您有一个具有多个显示区域(D1、D2、D3)的更复杂的应用程序时会发生什么。一个 URL token (即 http://myapp.com/#token-for-some-new-place )如何映射到 D1、D2 和 D3?这不是意味着 ActivityMapper#getActivity必须能够返回 Activity 列表 ( List<Activity> ),其 start(AcceptsOneWidget, EventBus)方法都会被调用吗?

感谢您在这里提供的任何帮助 - 代码示例总是很出色。

最佳答案

A Place 代表一个地方。它回答了以下存在主义问题:我从哪里来?我在哪里?以及我要去哪里?

对于给定位置,向用户显示的屏幕可能很复杂,并且分为一堆显示区域。每个 Activity 都由 ActivityManager 控制,它询问 ActivityMapper 在给定位置使用哪个 Activity,从而使所有内容都松散耦合( Activity 不(必须)知道它们在哪里使用、用于哪个位置、同时运行哪些其他 Activity 等)

因此,您不会有一个返回 Activity 列表的映射器,而是一个每个返回一个 Activity 的映射器列表。

参见:

关于java - GWT:地点和 ActivityMappers 的粒度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13103795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com