ООП на Javascript
Навык глубокого понимания архитектуры и написания чистого кода, позволяющий решать сложные задачи
Входит в подписку (более 50 навыков)
Евгений Филиппов
выпускник Хекслета

Программа обучения
Абстракция
Создание абстракции и gроектирование интерфейса, подбор правильной структуры данных для решения задач, уровневое проектирование, разделение системы на слои абстракции, инварианты
Инкапсуляция
Объединение данных и функций в рамках одной структуры, создание методов для управления состоянием объекта
Контекст
Понимание this: Изучение контекста выполнения в JavaScript, привязка контекста к функциям, особенности работы this в стрелочных функциях
Прототипы
Механизм прототипов, создание абстракций данных, упаковка и Распаковка (Boxing), методы у примитивных типов данных
Классы
Синтаксис классов, статические свойства и методы, общее состояние для всех объектов, упрощение работы с прототипами через классы, конструкторы, инициализация объектов при создании
Обработка ошибок
Исключения, обработка ошибок
Шаблоны проектирования
Изучение подходов для решения распространенных задач, примеры паттернов, антипаттерны
Конфигурация
Проектирование классов с учетом конфигурации, использование параметров для настройки поведения, изменяемая конфигурация
Объекты-Сущности и Объекты-Значения
Объекты с уникальной идентичностью, объекты, описывающие данные без уникальности, использование объектов внутри других объектов
Fluent Interface
Создание цепочек методов для улучшения читаемости, примеры использования, преимущества и ограничения
Сборщики
Поэтапная сборка сложных объектов шаг за шагом, композиция объектов, текучий интерфейс в сборщиках
Прокси
Изменение поведения объекта без изменения его кода, перехват операций: контроль доступа и модификация поведения, примеры использования
Полиморфизм
Параметрический полиморфизм, обобщенное программирование, диспетчеризация по ключу (данные, функции, имя файла, утиная типизация, Null Object Pattern
Наследование
Наследование, принцип подстановки Лисков, переопределение методов, ограничения наследования
Шаблоны проектирования
Паттерн Стратегия, паттерн Фабрика, паттерн Состояние (State)
Инверсия зависимостей
Принцип инверсии зависимостей, инъекция зависимостей
Объектная композиция
Создание сложных объектов путем комбинирования простых, взаимодействие объектов
Управление зависимостями
Сервис-локатор, DI-контейнер"
Проекты

Валидатор данных (JS)
Создание собственной библиотеки для проверки корректности (валидации) данных – отличный способ прокачать навыки проектирования кода, в особенности, объектно-ориентированной архитектуры. Создание правильных иерархий классов, глубокая работа с this, расширяемая архитектура, применение принципов SOLID, использование fluent-интерфейса – все это предстоит делать в проекте
Как проходит обучение
Теория в удобном текстовом формате — легко читать даже с телефона. Живые примеры помогают понять, как всё работает. Материал выстроен так, чтобы вы двигались шаг за шагом, не упуская важных деталей
После каждой темы вы проходите квизы, которые помогают убедиться, что вы всё поняли. Вопросы разного уровня сложности дадут возможность как проверить базу, так и попрактиковаться в применении знаний
Мы создали удобную виртуальную среду, где вы решаете задачи прямо в браузере. У вас есть редактор кода, консоль и автоматические тесты, которые моментально показывают результат
Учебный помощник на базе ИИ — это наставник, который всегда под рукой. Он понимает, что нужно сделать и как выглядит ваш код. Если что-то пошло не так, вы сразу получите понятные и полезные подсказки
Подписка от 2 400 ₽/мес
Этот навык уже входит в подписку. Оформи доступ и открывай все навыки сразу (50+)
Подписаться →- 50+ навыков в одной подписке
- Пожизненный доступ к теории
- Обучение с ИИ-ассистентом
- Отмена в любой момент