Martovitskiy
@Martovitskiy
front-end

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
22 мая 2019, в 11:10
15000 руб./за проект
22 мая 2019, в 10:43
15000 руб./за проект