1) View 是一个带有指向其演示者的链接的小部件。它应该通知演示者应该处理的 ui 事件。
2) 视图、演示者、客户端(不与服务器端共享)模型、地点、活动、PlaceHistoryMapper、ActivityMapper。关于福利见下文。
你很了解演示者吗?根据您的问题,我假设您将其与活动混淆了。
1.1 ) Presenter 创建和管理视图,制作 rpc 和大部分“逻辑”内容。
3) 你说得对,服务器包只是一个java服务器逻辑。
4) 活动链接场所和演示者。我将在下面重新描述活动。
5) Place 具有名称、令牌和自己的 Tokenizer,它将其位置转换为令牌或其他方式。
6) 我没有使用 ClientFactory。我更喜欢使用 google-gin(guice 的 gwt 客户端版本)进行依赖注入
7) 事件总线是......我无法比官方 javadoc 更好地描述 :)
向相关方发送事件。通过允许对象交互而不直接依赖于彼此,并且不需要事件源来处理维护处理程序列表,从而简化了解耦。每个应用程序通常会有一个 EventBus,用于广播普遍感兴趣的事件。
8) PlaceController 知道您在哪里(在应用程序中:) 并且可能会更改当前位置。 (显然,它有 getWhere() 和 goTo(Place) 方法)
9) 首先,您需要编写应用程序的单例代码,例如 PlaceHostoryMapper 和 ActivityMapper。
PlaceHostoryMapper 通过隔离所有 PlaceTokenizer 来提供历史记录并将令牌转换为地点。
ACtivityMapper 隔离所有地点和活动,并提供第二个和第一个。
视图和演示者基于界面。接下来我会声明这样的接口。
然后写地方。然后您可以编写活动代码,因为您拥有演示者的位置和界面。
然后以任意顺序实现视图和演示者,将活动映射到 ActivityMapper 中的位置,并在 PlaceHistoryMapper 中注册 PlaceTokenizer。
我假设您现在有更多问题,请随时在 cmets 或通过我的个人资料中的联系人提问 :)