J'ai une classe dans mon projet qui est utilisée pour charger des ressources externes (à savoir, des images et des fichiers audio). Cette classe ne possède que quelques membres : des champs HashMap pour le stockage des ressources, et des champs getImage(reference)
etc. pour récupérer les ressources.
À l'origine, j'ai mis en place le modèle de singleton Mais j'ai ensuite lu certaines critiques sur la page liée, et j'ai envisagé d'utiliser des membres statiques.
Longtemps après avoir heureusement décidé d'implémenter toutes les fonctionnalités de la classe de manière statique, je faisais un peu de nettoyage de code. En faisant cela, j'ai réalisé que rien ne m'empêchait d'instancier cette classe ResourceManager
classe. Cela m'a conduit à la marquer avec le abstract
mot-clé.
Je n'ai jamais utilisé abstract
de cette manière auparavant ; je ne l'ai jamais appliqué de manière plus conventionnelle que pour un arbre d'héritage. J'ai essayé de chercher sur Google les utilisations et les mauvaises utilisations de abstract
mais toutes les ressources que j'ai trouvées me semblaient soit peu fiables, soit ne déconseillaient pas l'utilisation de l'abstrait de cette manière :
Le tutoriel d'Oracle sur les classes et méthodes abstraites.
Un autre site qui traite du mot-clé.
Citation du deuxième lien : "Son but est de servir purement de parent de classes."
Ma nouvelle mise en œuvre est-elle conventionnelle, pardonnable ou tout simplement mauvaise ?