gpt4 book ai didi

grails - 将实例变量添加到Controller是否错误?

转载 作者:行者123 更新时间:2023-12-02 14:34:21 24 4
gpt4 key购买 nike

如果我想在一个 Controller 的多个方法之间共享一个对象,那么创建实例var是否错误?例如。

class MyController {
def index() {
def user = verifyUserLogin()
[messages:getMessages(user)]
}

private verifyUserLogin() {
...
return user
}

private getMessages(user) {
...do something with `user`...
return messages
}
}

会成为
class MyController {
private user

def index() {
verifyUserLogin()
[messages:getMessages()]
}

private void verifyUserLogin() {
...
this.user = user
return
}

private getMessages() {
...do something with `user`...
return messages
}
}

最佳答案

Grails Controller 并不是为每个请求创建的,因此没有实例级变量是没有问题的。

但是,我个人不希望尽可能不声明实例级别的变量,因为当代码开始变得冗长时,很难弄清初始化和使用变量的代码流程。

我宁愿选择将它们作为参数传递。但是,没有这样的经验法则,它在很大程度上取决于当前的问题。

关于grails - 将实例变量添加到Controller是否错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17833113/

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