gpt4 book ai didi

grails - 为什么应将grails操作声明为方法而不是闭包,它有什么区别?

转载 作者:行者123 更新时间:2023-12-03 11:41:35 25 4
gpt4 key购买 nike

在grails 2.0中,最新的http://grails.org/doc/2.0.0.RC1/guide/introduction.html#whatsNew表示:1.1.3 Web Features
Controller Actions as Methods
It is now possible to define controller actions as methods instead of using closures as in previous versions of Grails. In fact this is now the preferred way of expressing an action.
例如:

// action as a method
def index() {
}
// action as a closure
def index = {

}

为什么这很重要?有什么区别?

更新:我发现此讨论讨论了很多有关范围和一些毛茸茸的东西。 http://grails.1312388.n4.nabble.com/Controller-actions-methods-or-closures-was-Re-grails-dev-Statically-typed-meta-programing-td3048287.html

我想我的问题还可能是:封闭对于操作有什么好处?

最佳答案

答案是here

从上面的链接

利用方法而不是Closure属性具有一些优点:

  • 高效内存
  • 允许使用无状态 Controller (单作用域)
  • 您可以覆盖子类中的操作,并使用super.actionName()调用覆盖的父类(super class)方法
  • 方法可以使用标准的代理机制来拦截,由于Closures是字段,因此对于Closures而言,这很复杂。

  • 还有一个类似的常见问题 here,其中包含更多详细信息

    关于grails - 为什么应将grails操作声明为方法而不是闭包,它有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9205209/

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