画像や音声などのリソースを使用するアプリケーションを想像してください。リソースに共通のインターフェースを定義できます。
interface MyResource {
void load();
void dispose();
// ...
}
フォルダー構造は次のようになります。
+ Root
|--+ Resources
|--+ Images
|--+ Sounds
|--+ Data
すべてのリソースが の下にあることがわかりますRoot/Resources/
。この情報は、リソースだけでなく、他のアプリケーション コンポーネントでも共有および認識できます。
これを念頭に置くと、インターフェースは次のようになります。
interface MyResource {
public static final String RESOURCE_ROOT_PATH = "Root/Resources/";
void load();
void dispose();
// ...
}
イメージなどの特定の実装では、すべてのリソースの共通パスに基づいて、独自のルート パスを定義できます。
class MyImage implements MyResource {
public static final String IMAGE_ROOT_PATH =
MyResource.RESOURCE_ROOT_PATH + "Images/";
...
}
javax.swing.SwingConstants
または、実装間で特定の機能の定数を共有するために使用される のようなインターフェースを見ることができます。
enum
しかし、繰り返しになりますが、この種のことについては、最近ではむしろ , を使用したいと思います。