我对程序的设计有疑问。我有一个类 A 存储公共(public)常量,以便我可以在另一个类中使用这些常量。
public static final String error_code1 = "Fatal Error";
public static final String error_code2 = "XXXX";
...
...
在组合与界面之间,我不知道哪一个更合适。从我的想法来看,由于我只需要在程序中进行值比较的常量,所以我认为组合就足够了(低耦合)。
但是你们能从软件设计的角度给我一些建议/论点吗? (内聚性、耦合性、维护难度等)
最佳答案
首先,我建议您在这种情况下使用枚举。
public enum ErrorCode {
FATAL_ERROR("Fatal Error"),
X_ERROR("XXXX");
public final String msg;
private ErrorCode(String msg) {
this.msg = msg;
}
}
如果由于某种原因这不适合您,我会选择带有私有(private)(未使用)构造函数的 final
实用程序类。
无论如何,由于这些字段是静态的和最终的,我不会考虑引用 A 或实现 A 来获取常量。
关于Java、常量类的接口(interface)或组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27062311/