定数のインターフェースを実装することはアンチパターンであると聞きました。なぜなら、そのようなインターフェースはクラスに実装の詳細を提供するからです(これはインターフェースの目的ではありません)。しかし、クラスに定数の内部インターフェイスがあるのはどうですか?これは悪い習慣ですか?
編集: 定数を使用するためだけに、実装したくないということです。
インターフェイスの唯一の目的は、実装することです。したがって、インターフェイスを使用して定数をグループ化することは、実装していなくても、依然として悪い習慣です。クラスを使用して定数を配置するだけです。
public final class SomeClass {
private SomeClass() {
}
public static final int FOO = 6;
public static final String BAR = "bar";
}
これらの定数が特定のクラスと密結合している場合は、それらをこのクラスに直接配置します。複数のクラスに共通する場合は、上記のように外部クラスに配置します。