Cela dépend vraiment du type (et de la quantité / taille) de données dont vous parlez. S'il s'agit d'un petit morceau de données qui peut être conservé en mémoire en toute sécurité pendant la durée de l'exécution, quelque chose comme une classe statique serait ma recommandation.
public static class Constants
{
public static int[] Levels = { 0, 100, 200, 400, 800, 1600, 3200, 6400 }
}
De cette façon, l'expérience requise pour accéder au niveau X est Constatns.Levels[X - 1];
et accéder à d'autres données est également facile, si vous avez besoin d'une collection d'éléments, vous pouvez également l'ajouter ici, si vos données d'éléments sont trop grandes pour être stockées en mémoire, vous pouvez implémentez également la logique de mise en cache dans la classe statique.
Le rendre statique conserve une seule copie en mémoire et garantit que chaque client de cette classe obtient les mêmes données.
Bien que cela «couple étroitement» vos classes, le couplage serré n'est pas une mauvaise chose si la conception en a vraiment besoin, ce qui, dans le cas des statistiques d'objets et des graphiques XP, est, à mon humble avis, raisonnable de les coupler étroitement. J'essaie toujours de rester simple, jusqu'à ce que quelque chose l'oblige à se compliquer.
Eh bien, si vous utilisiez Java, je recommanderais de placer vos données dans des fichiers XML et d'utiliser quelque chose comme JAXB ou simple-xml afin d'obtenir les données que vous souhaitez dans les bons objets.
la source