「定数」共有のための静的フィールドとのインターフェース
オープンソース Java プロジェクトでは、静的フィールドとのインターフェースの使用がよく見られます。 「定数」としてラベル付けされています。このため、このアプローチの有効性と、ベスト プラクティスと一致しているかどうかについて疑問が生じています。
定数インターフェイスの批判
定数共有にインターフェイスを使用する慣行は、一般的に次のとおりです。落胆した。これは、インターフェイスの静的フィールドが、外部で必要かどうかに関係なく、実装クラスのパブリック インターフェイスの一部になるという事実に由来します。これにより、コードベース全体で定数が急増する可能性があります。
Java 専門家の Josh Bloch 氏によると、「定数インターフェイス パターンはインターフェイスの不適切な使用法です。」同氏は、インターフェースを通じて実装の詳細を公開すると混乱が生じ、将来の柔軟性が制限されると主張しています。さらに、定数インターフェイスを実装する非最終クラスは、そのすべてのサブクラスをインターフェイスの定数名前空間にバインドします。
代替アプローチ
定数インターフェイスの代わりに、次の代替アプローチがあります。
1.列挙型:
列挙型は定数を効果的に表現し、型の安全性を提供します。これらは、事前定義された値の限られたセットを適用し、どの定数が使用できるかを明確にします。
2.静的ユーティリティ クラス:
静的ユーティリティ クラスは、パブリック静的フィールドとして定数値を保持できます。このアプローチでは、定数を使用するクラスから定数を分離し、API の汚染を防ぎます。
以上がJava の定数インターフェイスはベスト プラクティスですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。