Я делаю игру в Java, и я застрял с проблемой дизайна.
Мои ресурсы (изображения, анимация, звуки) хранятся в нескольких HashMaps, по одному для каждого типа ресурса. Эти (статические) хеш-карты расположены в статическом классе, называемом «Res». Когда объект нуждается в ресурсе, он обращается к одной из хэш-карт глобального класса, и если ресурс не существует, он автоматически загружается.
static Map<String, Sprite> sprites = new HashMap<>();
static Map<String, BufferedImage> images = new HashMap<>();
static Map<String, Clip> sounds = new HashMap<>();
static Map<String, Font> fonts = new HashMap<>();
Мой вопрос: достаточно ли хорош этот дизайн? Я читал, что статические функции - плохая практика, но нужно ли тогда каждый раз передавать экземпляр класса Res? Или есть другие альтернативы? А также, является ли эта система управления ресурсами хорошей практикой?
Заранее спасибо!