在Grails中处理查询最安全最可维护的做法是什么?

时间:2012-09-21 13:20:51

标签: grails gorm dry

我是Grails的新手。我注意到大多数教程都显示了在Controller中创建和存储的查询。随着时间的推移,这似乎会使控制器真正膨胀,尤其是随着查询数量和复杂性的增加。

在我的研究中,我读到控制器应尽可能保持精简(与向模型/视图请求和提交数据有关,并且不鼓励进行大量查询。

您是如何为Grails应用程序创建,存储和调用查询的?

2 个答案:

答案 0 :(得分:2)

有一篇关于Grails最佳实践的好文章here。根据帖子:

  

不允许控制器接管其他角色。一个角色   controller是接受传入请求,检查权限等,请教   结果的域或服务,将结果返回给   请求者使用所需的格式,例如HTML,JSON或XML。保持   控制器尽可能薄。不要执行业务逻辑,查询,   或控制器内的更新。

因此,如果您有更复杂的逻辑,我建议您构建服务:

  

服务是复杂业务逻辑或粗略的合适候选者   粒度代码。如果需要,可以轻松地将服务API公开为   RESTful / SOAP Web服务。

答案 1 :(得分:1)

这就是服务的用途。 将所有域操作逻辑放在服务中,并将控制器限制为“中间人”角色 - 绑定并验证请求参数,调用服务并呈现结果。