Как организовать сложный код JS (подробнее внутри)?

Добрый день, коллеги. Я во frontend не новичок, но и не назову себя высшим разумом. Вопрос касается JavaScript. У меня стоит задача, организовать ряд операций с Google Maps. C JS API разобрался, изучил за денёк, но вот теперь нарвался на недостаток опыта в таких крупных задачах (раньше ничего сложнее кусков кода для разного поведения интерфейса и запросов через Ajax не писал).

Есть ряд кнопок в панели инструментов. Нажимая на определённую кнопку я должен активировать определённое поведение с картами. Причём после этой активации я могу выбрать (к примеру) и активировать некий маркер, чтобы получить в панели инструментов дополнительный функционал и настроить этот маркер, после чего сохраню его и активного маркера не будет, а после и вовсе сменю инструмент и поведение карты должно поменяться вновь, на нужное (это определённый контент на карте, это могут быть события).

Сейчас у меня это всё на честном слове, на переменных. Активный инструмент и ряд других параметров, которые приходится постоянно проверять, и не далёк тот день, когда я просто потеряюсь в этом коде. Понимаю, что писать нужно что-то вроде объектов, реализовывать какой либо паттерн, но с чего начать изучение подходов?

Не прошу готовый код, прошу лишь идеи и точечные направления. Читаю много материалов, но во многих описаны лишь подходы и вообще идея модульной разработки, пока это мало чем помогло. Если не хватает входных данных или мой вопрос не до конца ясен - просите в комментариях, сразу же дополню.
  • Вопрос задан
  • 669 просмотров
Решения вопроса 3
@GreatRash
1) Что-то не видно тут прям сложного приложения.
2) Прочитайте про паттерны "Модуль", "Фасад", "Медиатор", мне кажется этого вам должно хватить.
3) Вот тут неплохая статейка на тему.
Ответ написан
Demetriy
@Demetriy
веб и мобильная разработка
Поздравляю, вы пришли к необходимости использовать js фреймворки\библиотеки для одностраничных приложений, я бы порекомендовал посмотреть в сторону React.js, но так же можно и Angular, хотя как по мне для данной задачи он несколько избыточен.
Ответ написан
@mletov
По-моему, Angular со своим двусторонним связыванием и шаблонами будет в самый раз.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы