Я всегда знал, что Singletons «плохие», но только теперь, когда я перешел на Java с C ++, я решил найти способ обойти их. После небольшого прочтения я обнаружил, что Фабрики или Внедрение Зависимостей могли бы справиться с этой задачей, но я хотел бы получить подтверждение на этот счет.
В качестве примера я собирался написать синглтон AnimationCache, в котором будет храниться Map<String, Animation>
. Разные классы должны иметь доступ к этому классу (в основном) где угодно, чтобы они могли легко и эффективно загружать анимации. Очень краткий пример того, как будет выглядеть эквивалентный код с использованием DI, был бы великолепен.
Кроме того, является ли Guice хорошей структурой для DI с не веб-приложениями? Я использовал Spring для веб-разработки, но я не уверен, что это подойдет для игр.