Поиск по сайту

Результаты поиска по тегам 'design-patterns'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Основной форум
    • Для начинающих
    • Проблемы верстки
    • Обсуждение работ
    • Работа форума
    • Флейм
  • Полезное
    • Библиотека полезных приемов и решений
    • Ресурсы
  • Веб-программирование
    • Javascript
    • Серверные технологии
    • СУБД
    • CMS
  • Работа: спрос, предложение, вакансии
    • Коммерческие услуги

Календари

  • IT events in Ukraine
  • IT events in Russia
  • События форума

Блоги

  • CMS (Системы управления контентом)

Группы меток

  • Разработчики
  • Front-end
  • Back-end
  • Обучение
  • Ищу работу
  • Предлагаю работу



Фильтр по количеству...

Найдено 1 результат

  1. Помогите пожалуйста разобраться в вопросе организации кода в простейшей игре. и в результате скажите: 1. правильный первый вариант 2. правильный второй вариант 3. оба варианта правильные и используются в зависимости от ситуации 4. давно уже существует паттерн %patternname% и с успехом используется в такой ситуации Допустим есть 2D-ландшафт, над ним летит корабль игрока. Корабль может стрелять ракетами. Описываю первый вариант организации ООП-кода на js(в js контроллер и представление совмещены): инициализация игры начинается с создания spaceView, который в свою очередь инициализирует: ландшафт, корабль игрока PlayerShipView - корабль игрока. Он может стрельнуть ракетой(PlayerRocketView). То есть объект корабля связан с объектом ракеты Ракета может столкнуться с ландшафтом. То есть объект ракеты связан с объектом spaceView В результате: Имеем 3 связанных объекта, но каждый из них содержит только свою функциональность(это плюс). Но если в программе придётся что-нибудь менять(например отключить кораблю игрока возможность стрелять ракетами), то вносить правки придётся в разных местах программы(это минус). Есть несколько глобальных переменных(это минус) Описываю второй вариант организации ООП-кода на js(в js контроллер и представление совмещены): инициализация игры начинается с создания spaceView, который в свою очередь инициализирует: ландшафт, корабль игрока, ракеты(есть нажата кнопка "огонь") и вообще все остальные объекты Таким образом: Если например игрок нажимает "огонь", то инициализация ракеты происходит в spaceView, а PlayerShipView вообще ничего не знает об объекте ракеты(это плюс). Соответственно нет глобальных переменных(это плюс). Но в spaceView содержится куча логики(всей игры, в котрой кроме корабля игрока и ракеты существует очень много других объектов). Для наглядности я реализовал первый вариант здесь: https://github.com/zlodiak/space-1 В нём используются различные библиотечки типа backbone, underscore, но незнание их не мешает пониманию общей структуры программы Не бейте(ногами), я знаю что вопрос для телепатов