gpt4 book ai didi

grails - grails-为什么建议将CRUD代码放在服务内部而不是 Controller 本身?

转载 作者:行者123 更新时间:2023-12-02 15:34:49 25 4
gpt4 key购买 nike

为什么建议将CRUD代码放在服务内部而不是 Controller 本身?

最佳答案

除了soc,可重用性,可测试性等之外,我还可以看到以下更多技术原因:

默认情况下,Grails服务中的每个方法都隐式地(或用@Transactional显式表示,请参见[0])包装在事务中。每当(未检查!)异常发生时,Spring都会自动回滚事务。

由于CRUD代码通常会修改由多个域对象组成的集合,因此建议(除了获得可重用性之外)将代码移至“事务脚本” [1]服务方法中,以使Grails / Spring管理事务处理。

[0] http://grails.org/doc/latest/guide/services.html

[1] http://martinfowler.com/eaaCatalog/transactionScript.html

关于grails - grails-为什么建议将CRUD代码放在服务内部而不是 Controller 本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13225770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com