Какие шаблоны проектирования js применяются на практике чаще всего?

Читал Стоян Стефанов - JavaScript шаблоны, но заходит не особо. Есть ли что то проще?
Лучший способ запомнить - это практика. Прошу гуру js подсказать и рассказать, какие паттерны применяются чаще всего на практике и где, какие не пригодятся и не нужно тратить на них время...
  • Вопрос задан
  • 4735 просмотров
Решения вопроса 1
sfi0zy
@sfi0zy Куратор тега JavaScript
Creative frontend developer
какие паттерны применяются чаще всего на практике и где

Сразу отмечу, что все это чисто мое имхо, которое может не совпадать с мнением окружающих. В контексте фронтенда обычно все довольно просто. По моим наблюдениям в среднем сайте могут иметь смысл:
  1. Модули (делим код на независимые части)
  2. Фабрики (для компонентов интерфейса)
  3. Синглтоны (для хранилищ, точек сбора полифиллов / утилит и.т.д.)
  4. Адаптеры (для зависимостей и полифилов, которые могут измениться / выпилиться)
  5. Наблюдатели (для сбора происходящих событий в одном месте)
  6. Хранители (для сохранения действий пользователя и "Ctrl-Z")
  7. Стратегии (если действуем в зависимости от прилетевших данных)

Другим паттернам применение вижу редко, только если под какую-то замороченную бизнес-логику. Хотя кого я обманываю, на среднем сайте обычно происходит только один паттерн - доширак из костылей. Ну и стоит сказать, что SPA-фреймворки имеют свойство навязывать свои подходы к решению задач, но это отдельная тема.

Важно понимать, что паттерны проектирования - это просто хорошие идеи по поводу того, как организовать большой объем кода в той или иной ситуации. Это не "изучи тайное знание, запомни, и делай так всегда", не "используй паттерны, потому что великие их используют", это скорее "если не уверен как организовать код, возьми готовую идею, она вроде работает". Если вы будете просто решать задачи, то через N лет практики вы сами их все "изобретете", только не будете знать, что у них есть названия. Эффективно будет организовать себе заметку о том, какие из этих идей для чего примерно применяют, а потом, в процессе работы, в нее подглядывать, если встал вопрос "как организовать этот код".
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@DiGiTAll
Hype Driven Development
Ответ написан
Комментировать
Jeer
@Jeer
уверенный пользователь
Паттерны... пользуешься-пользуешься и не знаешь, что у всего этого есть названия.
Паттерны не привязаны к конкретному языку (но в разных языках реализуются по разному)
Есть отличный сайтец с картинками, всем его рекомендую https://refactoring.guru/ru
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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