1

我正在使用部署到 GAE 的 GWTP (Model-View-Presenter) 开发 GWT 应用程序。持久性将使用 Google Cloud SQL 完成。

我不确定使用什么将数据发送到数据库(持久性)和请求数据:GWT RequestFactory 或 GWTP Actions。它们是等价的吗?在这种情况下,每个人都有什么好处?

谢谢

4

3 回答 3

2

我不会像现在这样使用 Request 工厂。即使对于 CRUD,它对我们来说也比 GWTP Actions 复杂得多。

RF 是一个伟大而强大的工具,但它有点过度设计,处理复杂数据可能真的很困难,因为你最终会遇到所有“冻结”状态问题。真正的问题出现在使用具有嵌套结构的编辑器时。您将无法保存第二级代理,甚至更多第三级。使用具有嵌套结构的编辑器使用 SimpleBeanEditorDriver 会容易得多,因为您不必为每一级嵌套对象处理令人讨厌的冻结状态。

对于具有简单 CRUD 支持的简单对象图,RF 是完美的,但是一旦您进入更复杂的结构,请振作起来,处理起来并不容易。一旦您成为 RF 专家,它就会成为一个非常强大的工具,但它仍然需要比 GWTP Actions 更多的工作来完成同样的事情。

对于使用 RF 的服务器端安全性,我使用了 AoP。另一方面,您可以使用操作处理程序,但即使使用操作处理程序,在某些情况下服务调用上的 AoP 更合适。

对于客户端批处理和缓存......这是用 RF 很难实现的。文档不清楚,处理缓存中的冻结状态是一场噩梦。有了 GWTP-Action,您已经可以使用一个简单的缓存实现。

于 2012-10-05T19:25:28.237 回答
0

对于面向数据的应用程序 (CRUD),您绝对应该使用 RF,因为它就是为此目的而设计的。现在,如果您的应用程序更加面向操作并且这些操作不涉及太多数据,那么最好使用命令模式。但是没有什么能阻止你在你的应用程序中同时使用这两者。

于 2012-09-26T19:04:20.643 回答
0

仅限请求工厂。

你需要的一切都在那里。如果您只想发送一条基本消息,您只需使用您想要的任何参数调用一个方法。

Actions 的问题在于它们比 RF 语义更冗长......

RF 唯一没有的就是使用 ClientHandlers 的能力......

于 2012-10-01T22:53:19.593 回答