gpt4 book ai didi

gwt - 什么时候应该使用 RequestFactory 和 GWT-RPC?

转载 作者:行者123 更新时间:2023-12-03 05:04:33 25 4
gpt4 key购买 nike

我正在尝试弄清楚是否应该将 gwt-rpc 调用迁移到新的 GWT2.1 RequestFactory cal。

Google 文档含糊地提到 RequestFactory 是“面向数据的服务”的更好的客户端-服务器通信方法

我从文档中可以得出的是,有一个新的 Proxy 类可以简化通信(您不需要来回传递实际实体,而只传递代理,因此它的重量更轻,更易于管理)

这就是重点还是我错过了大局中的其他东西?

最佳答案

GWT RPC 和 RequestFactory 之间的最大区别在于,RPC 系统是“RPC-by-concrete-type”,而 RequestFactory 是“RPC-by-interface”。

RPC 上手更方便,因为您编写的代码行更少,并且在客户端和服务器上使用相同的类。您可以创建一个包含大量 getter 和 setter 的 Person 类,也许还有一些简单的业务逻辑,用于进一步对 Person 对象中的数据进行切片和切 block 。这非常有效,直到您最终希望在类中包含特定于服务器的、非 GWT 兼容的代码。由于 RPC 系统基于客户端和服务器上具有相同的具体类型,因此您可能会遇到基于 GWT 客户端功能的复杂性障碍。

为了避免使用不兼容的代码,许多用户最终创建了一个对等 PersonDTO 来隐藏服务器上使用的真实 Person 对象。 PersonDTO 仅具有服务器端“域”Person 对象的 getter 和 setter 的子集。现在,您必须编写代码来编码 PersonPersonDTO 对象以及要传递给客户端的所有其他对象类型之间的数据。

RequestFactory 首先假设您的域对象不与 GWT 兼容。您只需在 Proxy 接口(interface)中声明客户端代码应读取和写入的属性,RequestFactory 服务器组件将负责整理数据并调用您的服务方法。对于具有明确定义的“实体”或“具有身份和版本的对象”概念的应用程序,EntityProxy 类型用于向客户端代码公开数据的持久身份语义。简单对象使用 ValueProxy 类型进行映射。

使用 RequestFactory,您需要支付预先启动成本来适应比 GWT RPC 轻松支持的更复杂的系统。 RequestFactory 的 ServiceLayer 通过添加 ServiceLayerDecorator 提供了更多的钩子(Hook)来自定义其行为。实例。

关于gwt - 什么时候应该使用 RequestFactory 和 GWT-RPC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4119867/

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