Ini benar-benar tergantung pada jenis (dan jumlah / ukuran) data apa yang Anda bicarakan. Jika itu adalah sedikit data yang dapat disimpan dengan aman di memori selama durasi eksekusi, sesuatu seperti kelas statis akan menjadi rekomendasi saya.
public static class Constants
{
public static int[] Levels = { 0, 100, 200, 400, 800, 1600, 3200, 6400 }
}
Dengan cara ini, pengalaman yang diperlukan untuk mencapai Level X adalah Constatns.Levels[X - 1];
dan mengakses data lain juga mudah, jika Anda memerlukan koleksi Item, Anda dapat menambahkannya di sini juga, jika data Item Anda terlalu besar untuk disimpan dalam memori, Anda dapat juga menerapkan logika caching di dalam kelas statis.
Menjadikannya statis menyimpan satu salinan dalam memori, dan memastikan bahwa setiap klien dari kelas ini mendapatkan data yang sama.
Meskipun ini benar-benar "memasangkan secara ketat" kelas Anda bersama-sama, kopling ketat bukanlah hal yang buruk jika desain benar-benar membutuhkannya, yang dalam kasus statistik Item dan grafik XP, itu adalah, IMHO, masuk akal untuk memasangkan erat ini. Saya selalu berusaha membuatnya sederhana, sampai sesuatu memaksanya menjadi rumit.