回答:
それは、あなたが話しているデータのタイプ(および量/サイズ)に本当に依存します。実行中にメモリに安全に保持できる小さなデータの場合は、静的クラスのようなものがお勧めです。
public static class Constants
{
public static int[] Levels = { 0, 100, 200, 400, 800, 1600, 3200, 6400 }
}
このように、レベルXに到達するために必要なエクスペリエンスConstatns.Levels[X - 1];
は簡単で、他のデータへのアクセスも簡単です。アイテムのコレクションが必要な場合は、ここにも追加できます。アイテムデータが大きすぎてメモリに格納できない場合は、次のことができます。また、静的クラス内にキャッシュロジックを実装します。
静的にすることで、1つのコピーがメモリに保持され、このクラスのすべてのクライアントが同じデータを取得することが保証されます。
これはクラスを「密結合」しますが、設計が本当にそれを必要とする場合、密結合は悪いことではありません。これは、アイテム統計とXPチャートの場合、これらを密結合することが合理的です。何かがそれを複雑にさせるまで、私はいつもそれをシンプルに保つようにしています。
グローバルにアクセスできるクラスを1つ使用することをお勧めします。これを辞書と呼びましょう(フラッシュ用語を使用)。ディクショナリは基本的に、アプリケーション全体でアクセスできるようにする名前と値のペア(データ、ルール、定数)のリストです。名前(文字列)を使用すると、他のクラスはコードにインターフェイスされている値(数値、文字列、クラスなど)を取得できます。したがって、インスタンス化が以前にディクショナリで行われたことを除いて、実装は基本的にIOCです。辞書の変更などを聞くこともできます。
Javaを使用している場合は、適切なオブジェクトに必要なデータを取得するために、データをXMLファイルに入れ、JAXBやsimple-xmlなどを使用することをお勧めします。