Ключевые концепции ООП
прототипы
Прототипное наследование
Композиция и наследование

ООП на Javascript

Навык глубокого понимания архитектуры и написания чистого кода, позволяющий решать сложные задачи
выпускник Хекслета
Егор Самойлин
выпускник Хекслета

Программа обучения

2 месяца
19 часов теории
82 часа практики
Что важно знать заранее
Для успешного прохождения курса вам нужно базовое умение программировать на JavaScript, включая его ключевые конструкции, функции, работу с массивами и объектами
Если вы пока не знакомы с программированием, не переживайте!
У нас есть вводные курсы, которые помогут вам освоить основы и подготовиться к обучению. Мы объясним всё с нуля — доступно и наглядно
Абстракция
Создание абстракции и gроектирование интерфейса, подбор правильной структуры данных для решения задач, уровневое проектирование, разделение системы на слои абстракции, инварианты
Инкапсуляция
Объединение данных и функций в рамках одной структуры, создание методов для управления состоянием объекта
Контекст
Понимание this: Изучение контекста выполнения в JavaScript, привязка контекста к функциям, особенности работы this в стрелочных функциях
Прототипы
Механизм прототипов, создание абстракций данных, упаковка и Распаковка (Boxing), методы у примитивных типов данных
Классы
Синтаксис классов, статические свойства и методы, общее состояние для всех объектов, упрощение работы с прототипами через классы, конструкторы, инициализация объектов при создании
Обработка ошибок
Исключения, обработка ошибок
Шаблоны проектирования
Изучение подходов для решения распространенных задач, примеры паттернов, антипаттерны
Конфигурация
Проектирование классов с учетом конфигурации, использование параметров для настройки поведения, изменяемая конфигурация
Объекты-Сущности и Объекты-Значения
Объекты с уникальной идентичностью, объекты, описывающие данные без уникальности, использование объектов внутри других объектов
Fluent Interface
Создание цепочек методов для улучшения читаемости, примеры использования, преимущества и ограничения
Сборщики
Поэтапная сборка сложных объектов шаг за шагом, композиция объектов, текучий интерфейс в сборщиках
Прокси
Изменение поведения объекта без изменения его кода, перехват операций: контроль доступа и модификация поведения, примеры использования
Полиморфизм
Параметрический полиморфизм, обобщенное программирование, диспетчеризация по ключу (данные, функции, имя файла, утиная типизация, Null Object Pattern
Наследование
Наследование, принцип подстановки Лисков, переопределение методов, ограничения наследования
Шаблоны проектирования
Паттерн Стратегия, паттерн Фабрика, паттерн Состояние (State)
Инверсия зависимостей
Принцип инверсии зависимостей, инъекция зависимостей
Объектная композиция
Создание сложных объектов путем комбинирования простых, взаимодействие объектов
Управление зависимостями
Сервис-локатор, DI-контейнер"
Проект
Валидатор данных
<span class="translation_missing" title="translation missing: ru.web.programs.track.blocks_ru.new_identity.syllabus.illustration">Illustration</span>

Этот проект прокачает ваши навыки в области ООП и даст вам практический опыт в разработке инструментов, которые используются использованы в реальных приложениях. В результате работы вы научитесь проектировать чистую и расширяемую архитектуру, применяя принципы SOLID и паттерн fluent-интерфейс.

В проекте вам предстоит реализовать мощную и гибкую библиотеку для проверки корректности данных, которая упростит процесс валидации в ваших приложениях. Эта библиотека позволит вам легко проверять строки, числа и объекты на соответствие заданным правилам, а также добавлять новые правила валидации по мере необходимости.

Как проходит обучение

Просто, наглядно и всегда под рукой
Вы изучаете теорию в удобном текстовом формате — легко читать даже с телефона. Живые примеры помогают сразу понять, как всё работает на практике. Материал выстроен так, чтобы вы шаг за шагом двигались от простого к сложному, не упуская важных деталей
Проверяем и закрепляем знания
После каждой темы вы проходите квизы, которые помогают убедиться, что вы всё поняли. Вопросы разного уровня сложности дадут возможность как проверить базу, так и попрактиковаться в применении знаний
Учитесь на реальных задачах
Мы создали удобную виртуальную среду, где вы решаете задачи прямо в браузере. У вас есть редактор кода, консоль и автоматические тесты, которые моментально показывают результат
Ваш AI-наставник в учебе
Наш Учебный помощник на базе ИИ — это как наставник, который всегда под рукой. Он понимает, где вы находитесь в курсе, что нужно сделать, и как выглядит ваш код. Если что-то пошло не так, вы сразу получите понятные и полезные подсказки
Занимаетесь сами, но не в одиночестве
Тяжело сохранять мотивацию, если обучаешься самостоятельно, поэтому мы создали крепкое IT-сообщество, где каждый студент получает поддержку и находит полезные контакты среди других разработчиков
IT-сообщество
Стоимость курса
Старт в любой момент
Продолжительность 2 месяца
Свободный режим учебы
AI-помощник
Интегрированное обучение: теория, тесты, тренажеры, проекты
Членство в IT-сообществе
от 3 900 ₽/мес
Хотите учиться от компании?

Расскажите вашему работодателю о Хекслете

Иллюстрация

Вопрос-ответ

Даже опытные разработчики найдут в наших курсах полезные знания. Мы подробно изучаем сложные структуры данных и их применение в задачах оптимизации кода.

Занятия помогут вам укрепить навыки программирования, улучшить архитектуру кода и глубже понять принципы работы алгоритмов. Курс поможет не только укрепить текущие навыки, но и подготовиться к следующему карьерному шагу

Вы можете учиться в своём темпе, срок обучения не ограничен.

Мы рекомендуем выделять 5-10 часов в неделю. Так с одной стороны обучение будет достаточно интенсивным, чтобы не растягивать его надолго, а с другой — достаточно комфортным, чтобы совмещать с работой и успевать отдыхать

Материал программы — это готовые курсы с адаптированной для новичков теорией, тестами на закрепление и большим количеством практических упражнений с автоматизированной проверкой прямо в браузере. В некоторых треках есть проект — вы создадите приложение, которое даст опыт реальной разработки

Мы принимаем карты Visa, MasterCard и МИР любого банка, валюта счёта тоже может быть любой