在设计方面遇到一些问题,希望我能在这里寻求建议。接受grails可能是完全错误的工具,但这就是生命。
所以一直在研究一个基本上只是从谷歌电子表格中提供大量信息并发回一些更新的网络应用程序。我已经设法让它的大部分工作,但决定重写它以摆脱我荒谬的spaggeti代码以及遍布整个项目的许多破碎代码。
系统相对较小,有两三个用户。数据量也很小。一个工作表最多500行(四列),另一个工作表可能5000(四列)。所以小,但我需要它(好吧,想要它)留在谷歌电子表格和从那里喂养的应用程序。
我需要三个课程才能工作, Google身份验证类会保留有关密钥和令牌的信息,以便与Google通信 Google Spreadsheet类会保留有关源电子表格的信息 Google数据输入会根据唯一ID
保留两个电子表格中的信息所以这是我的问题,我应该将这些类定义为什么。以为我会使用Domain类,但后来意识到这些都存储在数据库中。是否有一种方法可以保持域类会话依赖,即,两个用户可以在同一服务器上使用相同的应用程序,但从不会看到彼此的数据,并且数据在注销时被销毁。如果没有,是否有一些我可以使用的类与Domain类类似,但保留在内存用户/会话特定。
答案 0 :(得分:2)
我不确定你对这些课程的要求到底是什么,但无论如何这里都有一些想法。
首先,您可能想询问它们是否只能成为src/groovy
中的“正常”类。我在这里说“正常”,因为它们可能只是封装了一些数据和行为,你负责创建它们的实例并在需要时适当地调用这些方法。
但是,如果你想将一些数据和行为绑定到用户会话(因为你似乎要求会话依赖的域类),你可能想要使用{{3 }}。当您这样做时,Grails将为您的应用程序的每个会话使用不同的服务实例,并在同一会话结束时重复使用相同的实例。
您也可以使用一个具有会话范围的服务,并使用其他类来表示从控制器传递到服务的数据,反之亦然。例如,如果您需要验证和数据绑定,这些实际上可能是Grails Service with session scope。