仅与常量接口

dev*_*per 3 java interface

最近我遇到了一段代码,其中我找到了一个只有常量的接口.并且使用静态导入在类中访问这些常量.常数更多(约30至50).

就个人而言,我认为这不是一个好习惯.这就是为什么它根据Effective Java被称为Constant Interface Antipattern.我没有找到任何有理由去进行这种编码.

此外,仅当我们的应用程序中的许多类导入的常量很少时,才应使用静态导入.

如果有任何其他充分的理由去寻找常数界面,请问有谁能告诉我吗?

And*_*dyT 5

当然,在引入枚举之前,如果你需要在许多类之间共享大量常量,那么Constant Interface可能是最实用的方法.

如果这些常量只用在一个类中,那么其他答案中的注释("要避免的模式")是非常有效的 - 如果由使用它们的类声明它们将是最有用的.

对于较新版本的Java,我将使用允许设置值的构造函数转向枚举.然而,它的仍然是这样,如果设定值只使用一个单独的类,它最有意义的那类,而不是在单独申报.