EGround
Редактор
- Сообщения
- 24.279
- Реакции
- 127
Складчина: Мастер-класс по архитектуре и паттернам [learn.javascript.ru]
Цели интенсива
- Изучить основные понятия архитектуры и проектирования.
- Рассмотреть способы оценки и улучшения качества кода.
- Разобрать дизайн-принципы 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)
…И ряд других. Рассмотрим применение каждого шаблона на практике. Посмотрим и обсудим конкретные примеры кода.
В процессе вспомним некоторые смежные понятия, такие как иммутабельность, объектно-ориентированный подход, функции первого класса, реактивность и асинхронность.
Завершим интенсив обзором направлений дальнейшего развития и списком рекомендуемых источников.
Ведущий: Тёма Сенюков
Стоимость 7500р (≈73$)
Материал «Мастер-класс по архитектуре и паттернам [learn.javascript.ru]», возможно, скоро появится на EGROUND.
Воспользуйтесь поиском, может быть, он уже опубликован.