java - 使用许多静态函数有什么副作用吗?

标签 java playframework

目前我对 play 框架很感兴趣,因为这个框架保证了更快的开发。

当我看到代码时,有很多静态代码。甚至 Controller 声明为静态函数。因此,所有在静态函数内部调用的代码都必须是静态的,对吗?

我的问题是,这种做法是否正确?使用多个静态函数有什么副作用吗?

最佳答案

这个问题之前已经以类似的方式提出过。简单的答案是 Play 在合理的地方使用静态。

HTTP 模型不是 OO 模型。 HTTP 请求本身是无状态的,因此,静态方法允许将 Controller 作为来自客户端代码的功能请求进行访问。

另一方面,模型类是纯面向对象的,因此不是静态的。 一些实用方法,例如 findAll 或 findById 是静态的,但这些也不是有状态的,并且是类上的实用方法。无论如何,我希望在标准的 OO 模型中出现这种情况。

因此,我认为按照 Play 期望的方式做事不会有任何风险。它可能看起来很奇怪,因为它挑战了规范,但它这样做是有充分理由的。

关于java - 使用许多静态函数有什么副作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7412958/

相关文章:

java - 我在这里遇到堆栈溢出错误,但我不知道为什么

html - 视频网站的 PlayFramework 导航栏

playframework - 仅在测试模式下运行某些 Controller ,用于 playframework

java - Jasmin 中的汇编语言 - 出现语法错误

java - 在继承中使用时与访问修饰符混淆

scala - 戏剧中的 Specs2 测试给了我“找不到 org.specs2.main.CommandLineAsResult 类型的证据参数的隐式值

scala - 为什么 sbt 在 build.sbt 工作时使用 Build.scala 报告 "not found: value PlayScala"?

javascript - playframework 选择帮助器过滤选项或基于另一个选择的设置选项

java - Selenium By.className() -> IndexOutOfBoundsException : Index: 0, 大小:0

java - 在 Java 中,如何使用 JUnit 验证抛出的异常?