目前我对 play 框架很感兴趣,因为这个框架保证了更快的开发。
当我看到代码时,有很多静态代码。甚至 Controller 声明为静态函数。因此,所有在静态函数内部调用的代码都必须是静态的,对吗?
我的问题是,这种做法是否正确?使用多个静态函数有什么副作用吗?
最佳答案
这个问题之前已经以类似的方式提出过。简单的答案是 Play 在合理的地方使用静态。
HTTP 模型不是 OO 模型。 HTTP 请求本身是无状态的,因此,静态方法允许将 Controller 作为来自客户端代码的功能请求进行访问。
另一方面,模型类是纯面向对象的,因此不是静态的。 一些实用方法,例如 findAll 或 findById 是静态的,但这些也不是有状态的,并且是类上的实用方法。无论如何,我希望在标准的 OO 模型中出现这种情况。
因此,我认为按照 Play 期望的方式做事不会有任何风险。它可能看起来很奇怪,因为它挑战了规范,但它这样做是有充分理由的。
关于java - 使用许多静态函数有什么副作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7412958/