我和一些朋友打算开发一个带有 playframework 和移动应用程序(android 和 iphone)的网站。所以我们需要为移动应用程序(CRUD)制作一些网络服务。所以我们考虑在我们的 playframework 应用程序中使用这个 Web 服务,而不是浪费时间和创建 CRUD anorm
(编写所有 sql 请求)。
好吧,我是来征求你的意见的。这是一件好事吗?这里最好的建议方法是什么?
谢谢你。
PS:Web 服务是使用我们数据库中的 Netbeans 自动生成的。
我和一些朋友打算开发一个带有 playframework 和移动应用程序(android 和 iphone)的网站。所以我们需要为移动应用程序(CRUD)制作一些网络服务。所以我们考虑在我们的 playframework 应用程序中使用这个 Web 服务,而不是浪费时间和创建 CRUD anorm
(编写所有 sql 请求)。
好吧,我是来征求你的意见的。这是一件好事吗?这里最好的建议方法是什么?
谢谢你。
PS:Web 服务是使用我们数据库中的 Netbeans 自动生成的。
我建议反对这种方法的原因有很多。
一般的设计规则是不要向用户公开您的内部数据模型。这条规则有多种形式,其中分层架构可能是最广为人知的一种。
详细会出现以下问题:
其中一些原因确实重叠,但我认为一般问题应该很清楚。
我会推荐以下方法,而不是这种方法。为您的应用程序开发一个 RESTfull 端点,这并不难。这是客户应该开发的外部合同。例如, play-mini非常需要基于未过滤的 API 来执行此操作。在执行此操作时,请专注于您的应用真正需要的操作。在考虑生产就绪软件时,CRUD 通常是一个糟糕的模型。
如何访问数据库是您必须做出的另一个决定,但可能并不那么重要,因为它不是您的外部合同,因此您可以在需要时更改它。