【问题标题】:What is the best way to define a set of constants in a web project? [duplicate]在 Web 项目中定义一组常量的最佳方法是什么? [复制]
【发布时间】:2017-04-01 06:00:40
【问题描述】:

我正在开发一个 ejb 项目,我需要定义一组可以在整个项目中使用的常量,所以我创建了一个接口来保存我的常量集我的问题是有更好的方法吗在 web 项目中定义常量?

这是我的常量接口的一个例子:

public interface ejbConstant {
    final String  CONST23= "AB23";
    final String  CONST24= "AB24";
    // ..........
}

感谢您的建议

【问题讨论】:

  • 您可以根据上下文使用enum、属性等。

标签: java


【解决方案1】:

Sonar相当不错explanation of this with examples

据《Effective Java》一书的作者 Joshua Bloch 所说:

常量接口模式是接口使用不当。

一个类在内部使用一些常量是一个实现 细节。实现一个常量接口会导致这个实现 泄漏到类的导出 API 中的详细信息。没有任何后果 对类的用户,该类实现了一个常量 界面。事实上,它甚至可能使他们感到困惑。更糟糕的是,它代表了一个 承诺:如果在未来的版本中修改了该类,使其不再 不再需要使用常量,它仍然必须实现 接口以确保二进制兼容性。如果一个非final类 实现了一个常量接口,它的所有子类都有自己的 被接口中的常量污染的命名空间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-01
    • 2018-11-05
    • 2010-12-14
    • 1970-01-01
    • 1970-01-01
    • 2015-09-24
    • 1970-01-01
    • 2023-01-19
    相关资源
    最近更新 更多