1

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

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

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

为此,我需要三个类,Google 身份验证类保存与 google 对话的密钥和令牌信息 Google Spreadsheet 类保存源电子表格中的信息 Google Data Entry 基于唯一 ID 保存来自两个电子表格的信息

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

4

1 回答 1

2

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

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

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

您也可以使用每件事的一部分,使用具有会话范围的服务,并使用其他类来表示您从控制器传递到服务的数据,反之亦然。例如,如果您需要验证和数据绑定,这些实际上可能是命令对象。

于 2013-10-22T12:03:14.583 回答