在Grails中使用内存域对象的最佳方法是什么?

时间:2011-07-19 11:00:24

标签: memory grails dns

我正在开发一个Grail的项目,该项目中有一些Domain对象没有保留在数据库中。它们通过REST API进行管理,因此所有CRUD操作都将使用此API而不是数据库完成。

关键是仍然可以使用一些有趣的Grails插件(比如使用Compass进行搜索)。

例如,管理域对象用户将使用REST API进行管理,因此当显示“用户”列表时,将在远程服务器上调用用于检索用户列表的REST方法。我希望这个用例足够清楚:)

我可以考虑几种设计方法,但我不确定什么是最好的:

  • 我应该在控制器中创建域对象(并删除 以前用户存储在内存中??
  • 似乎可以定义一个不可持久的域类(使用 映射我认为)但我不确定这是最好的方法还是 在哪里加载数据。
  • 最好不要将用户作为域对象建模为Grails?

提前致谢!

2 个答案:

答案 0 :(得分:1)

我会在服务中包装REST交互,并从控制器调用服务。在这种情况下,服务将获得响应并创建其对象,将列表传递回控制器。控制器应该只处理传入的请求,调用应用程序组件并返回响应。

您似乎希望模型在其他应用程序中表示数据,这是一个好主意。由于您不需要GORM,您可能希望在应用程序的“groovy”文件夹中定义它们而不是域模型文件夹。然后我认为它们只是对象。

答案 1 :(得分:1)

我会使用src文件夹中的非域对象 - 但是,需要检查是否可以使用上面提到的插件。

我想知道您希望从非持久化类中获取哪些域类功能?