Я пишу небольшую игру на JavaScript (ES6). Есть в игре объекты, такие как Camera, Scene и тд, к которым очень часто нужен доступ. Сначала я делал так:
Есть объект Game, в нем есть gameProto.camera = new Camera(this)
, gamepProto.scene = new Scene(this)
и везде передавал объект игры, абсолютно везде. Объект Game передавался почти во все конструкторы, где мне нужен был доступ к сцене и камере.
Не так давно я разобрал Swift и мне очень понравились "общие" объекты. Например NSApplication.Shared()
- вероятно, это синглтон. Подумал я и решил сделать также. Camera.Shared
- стал статичный объект общей камеры. Scene.Main
- стал статичный объект главной сцены (а она одна на всю игру, как и камера). Теперь я перестал передавать во все конструкторы объект игры и стал использовать "общие" объекты, сделав игру модульной.
В чем собственно сам вопрос? В смысле оптимизации - как же лучше передавать объекты: ссылками в конструкторы или использовать "общий" статичный объект? А может и нет разницы вообще?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть менюНе могу понять, как сделать так, чтобы при клике по нему сохранялся его путь
Частенько, при разработке, код не работает так, как задумано или вообще не работаетСижу часами, гадаю: что и где не так?
Задача создать компонент, представляющий собой два инпута выбора дат, для установки промежутка времениБез фреймворков
Есть два связанных option поля в форме для фильтрации автомобилей по маркам и моделям: mark -> modelПри выборе марки подгружаются модели