У меня возникли проблемы с разработкой моего игрового движка. Например:
Когда я думаю в Ресурсах, я думаю в классе ResourceManager для управления ресурсами на моем движке.
Этот класс получает несколько обязанностей:
- Загрузка ресурсов.
- Отображать ресурсы по идентификатору.
- Убедитесь, что ресурсы загружены только один раз.
- Бесплатные неиспользуемые ресурсы (с использованием интеллектуальных указателей).
Это работает для меня, но я прочитал в каждом учебном руководстве по ООП, что менеджеры - это двусмысленные классы с высокой связью и низкой связностью. Я понимаю это, и я согласен, но я искал почти весь Интернет, чтобы найти ясный пример реальной альтернативы менеджерам, но я не нашел его.
Некоторые объясняют, например, что ResourceManager следует разделить на более мелкие классы: ResourceFactory, ResourceCollection, ResourceCache, a ResourceFacade...
Я знаю все эти шаблоны проектирования (Factory, Collection, Facade и т.д.). Но я не понимаю, как это можно объединить, чтобы создать (легко управляемую) систему управления ресурсами.
Мой вопрос: Есть ли какой-нибудь учебник или документ с ясным примером? Может ли кто-нибудь объяснить пример этой системы? Я благодарю вас, если вы можете написать небольшой пример на С++ или на другом подобном языке.
Заранее благодарим за помощь!