В настоящее время я пишу приложение. Если я хочу избежать Синглтонов, мне нужно просто передать ссылки на все вокруг?Избегайте глобального государства
Например,
У меня есть "основной" класс.
Класс: Главный
+ ---- Экран
+ ---- камера
+ ---- Terrain
+ ---- Автомобиль
+ ---- PhysicsWorld
Он содержит мою камеру, ландшафт и автомобиль, и т. Д. Классы. Теперь у меня возникают проблемы, когда я создаю, скажем, объект Terrain. Ландшафт хочет получить доступ к объектам экрана «Основные классы», чтобы он мог добавить свою графику ландшафта к экрану. Он также хочет знать о объекте Camera, когда он рисует, и он знает, какой масштаб его нарисовать. Он также хочет узнать о моем объекте PhysicsWorld, чтобы он мог добавить себя в физический движок.
Должен ли я всегда перетаскивать эти объекты туда и обратно между конструкторами? Я имею в виду, когда я создаю объект Terrain, мне просто нужно передать свой экранный объект, мою физику, камеру и т. Д.?
Другой случайный сценарий, который у меня есть, теперь ... внутри моего класса Vehicle Мне нужно вызвать метод Restart() в моем основном классе. Означает ли это, что я должен передать экземпляр основного автомобиля? В самом деле??
Он чувствует себя громоздким постоянно приходится проходить 4-5 вещи на занятия, особенно в моем сценарии, где сейчас почти каждый в игре объект У меня нужен экран, физика, данные камеры и т.д.
Любой предложения?