grails 设计类和外部数据(电子表格)

标签 grails data-structures google-spreadsheet-api grails-domain-class

在设计上有一点问题,希望我能在这里寻求建议。接受 grails 可能是完全错误的工具,但这就是生活。

所以一直在努力开发一个网络应用程序,该应用程序基本上只是从谷歌电子表格中呈现大量信息并发回一些更新。我已经设法让它大部分工作,但决定重写它以摆脱我荒谬的意大利面条代码以及散布在整个项目中的许多损坏的代码。

系统比较小,两三个用户。数据量也很小。一个工作表最多有 500 行(四列),另一个工作表可能有 5000 行(四列)。这么小,但我需要它(嗯,想要它)留在谷歌电子表格和从那里提供的应用程序中。

我需要三个类(class)才能工作,
Google 身份验证类保留有关 key 和 token 的信息以与 Google 对话
Google 电子表格类将信息保存在源电子表格中
Google 数据条目根据唯一 ID 保存两个电子表格中的信息

所以这是我的问题,我应该将这些类定义为什么。以为我会使用域类,但后来意识到这些都存储在数据库中。有没有办法保持域类 session 依赖,即两个用户可以在同一台服务器上使用同一个应用程序,但永远看不到彼此的数据,并且数据在注销时被销毁。如果没有,是否还有其他一些我可以使用的类与域类类似,但保存在内存中用户/ session 特定。

最佳答案

我不确定您对这些类(class)的确切要求,但无论如何这里有一些想法。

首先,您可能想问他们是否不能只是 src/groovy 中的“普通”类。 .我在这里说“正常”是因为它们可能只是封装了一些数据和行为,您负责创建它们的实例并在需要时适本地调用方法。

但是,如果您想将一些数据和行为绑定(bind)到用户 session (正如您所想,因为您要求提供 session 相关的域类),您可能需要使用 Grails Service with session scope .当您这样做时,Grails 将为应用程序的每个 session 使用不同的服务实例,并为同一 session 重用相同的实例,直到它结束。

您也可以使用每件事的一部分,使用具有 session 范围的服务,并使用其他类来表示您从 Controller 传递到服务的数据,反之亦然。这些实际上可能是 Command Objects例如,如果您需要验证和数据绑定(bind)。

关于grails 设计类和外部数据(电子表格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19516800/

相关文章:

file - Grails在 war 中进行文件上传管理

c - 如何选择哈希表的大小?

c# - 使用 OAuth 2 和服务帐户访问旧版 GData API(电子表格 API)

java - 如何从特定版本的 Google Sheet 读取数据?

sql - Grails joinTable查询问题

hibernate - 在 Grails/Gorm 中索引外键

java - `n` 一袋沙子并插入盒子,算法

c - 使用结构在 C 中获取变量的错误值

html - 从网站中提取数据的 Google App 脚本

grails - 通过Grails测试通过Controller中的Domain类访问db中的数据