你们 Java 项目中,statci 方法用的多么?
我现在做的项目,是一个纯 Java 后端,只有一个 netty,没有 spring
业务中各种 static 方法。
1
oneisall8955 2020-11-14 13:30:50 +08:00 via Android
util 一大堆 static 方法无所谓,都是面向过程编程。但有些情况确实需要设计模式,其中肯定涉及封装继承多态,static 就不能满足了。
|
2
sonice 2020-11-14 14:18:59 +08:00
没有面向对象思维又需要快速产出,static 方法写一大堆,保证流程能跑通。以上就是我的现状。
|
3
EminemW 2020-11-14 14:24:05 +08:00 via iPhone
可以试试 guice 轻量级依赖注入框架
|
4
chendy 2020-11-14 15:04:29 +08:00
static 同时只能有一种状态,没有多态
如果没有这些需求 static 就能用,一般工具类,静态工厂方法之类的符合 |
5
nl101531 2020-11-14 17:58:10 +08:00 via iPhone
不能没了 Spring,就不会写代码了。。。
|
6
janus77 2020-11-14 18:20:30 +08:00
一个方法解答你:你的那些 static 方法,有多少可以变成非 static 而不影响原结果?
换句话说,有多少是必须 static 的? 如果必须 static 的占比很大,那就得好好考虑一下代码了 |
7
mtmax 2020-11-14 18:47:19 +08:00
static 不够面向对象
|
8
Xbluer 2020-11-14 18:48:02 +08:00
这种情况其实就是在用 java 写 c 的代码,换个语法规则而已。
|
9
VishvaWang 2020-11-14 19:10:45 +08:00 via Android
@janus77 难道不应该是你哪些实例方法,有多少可以写成静态方法而不影响结果的?不要为了面向对象而面向对象
|
10
dustinth 2020-11-14 19:36:46 +08:00
单指对于过程式的逻辑实现, 没有本质区别. 区别主要在于 static 方法的物理性质, 决定了 static 方法无法很好进行 unit 测试以及模块之间的 integration test. 所有 static 方法改成用 instance 方法来实现并不需要多大的工作量, 带来的好处是可预见的.
|