Мастер-класс по архитектуре и паттернам [learn.javascript.ru]

08:11
  • Изучить основные понятия архитектуры и проектирования.
  • Рассмотреть способы оценки и улучшения качества кода.
  • Разобрать дизайн-принципы SOLID, их применение в реальных приложениях.
  • Разобрать шаблоны проектирования, наиболее часто встречающимися на фронтенде.
  • Научиться видеть шаблоны в существующем коде и самостоятельно их применять.

Предварительные требования

  • Опыт JavaScript от 1 года и понимание синтаксиса классов (или пройденный курс JavaScript для программистов или новичков).

Программа интенсива

Часть 1
Основные задачи проектирования:

  • Что значит, что система спроектирована «хорошо»
  • Какие принципы критичны, а какими можно пренебречь
  • Как писать новый код так, чтобы не ломать старый
  • Что делать, если в наследство достался плохо спроектированный проект
  • Применимость и неприменимость тех или иных подходов на практике

Базовые понятия архитектуры:

  • Архитектурные границы
  • Внешние и внутренние интерфейсы
  • Отношения и зависимости
  • Сцепленность и связность
  • Закон Деметры
  • Абстракции
  • SOLID и GRASP

Подробно разберём принципы SOLID — зачем нужен каждый из них, какую задачу решает. Рассмотрим примеры кода и особенности фронтенда.

Часть 2
Проанализируем наиболее частые для фронтенда шаблоны проектирования:

Поведенческие:

  • Стратегия (Strategy)
  • Итератор (Iterator)
  • Шаблонный метод (Template Method)
  • Наблюдатель (Observer)
  • Посредник (Mediator/Controller)
  • Команда (Command)

Порождающие:

  • Фабрика (Factory)
  • Фабричный метод (Factory method)
  • Одиночка (Singleton)
  • Прототип (Prototype)

Структурные:

  • Декоратор (Decorator)
  • Примесь (Mixin)
  • Текучий интерфейс (Fluent API)
  • Конвейер (Pipeline)
  • Фасад (Facade)
  • Адаптер (Adapter)
  • Заместитель (Proxy)
  • Приспособленец (Flyweight)

… И ряд других. Рассмотрим применение каждого шаблона на практике. Посмотрим и обсудим конкретные примеры кода.

В процессе вспомним некоторые смежные понятия, такие как иммутабельность, объектно-ориентированный подход, функции первого класса, реактивность и асинхронность.

Завершим интенсив обзором направлений дальнейшего развития и списком рекомендуемых источников.

Цена:
Цена: 7 500 ₽ / free for VIP
Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.