Трек
Для программистов

ООП в JS

Здесь вы изучите прототипы, наследование и полиморфизм типов, освоите паттерны и антипаттерны проектирования. Курсы этого трека помогут досконально разобраться в объектно-ориентированном дизайне на JavaScript.

Начать учиться
Картинка программы ООП в JS
Самостоятельно,
в любое время
Обратная связь
по урокам от поддержки Хекслета
Неограниченный доступ
к пройденной теории
1367 студентов
проходят трек прямо сейчас

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

Уроки
  • Введение

  • Онтология

  • Точки на координатной плоскости

  • Семантика массивов

  • Создание абстракции

  • Интерфейсы

  • Уровневое проектирование

  • Инварианты


Чему научитесь
  • Выделять сущности предметной области и устанавливать правильные взаимоотношения между ними

  • Подбирать правильную структуру данных для хранения сущностей

  • Грамотно проектировать интерфейсы абстракций

  • Определять инварианты и следовать им

  • Правильно использовать индексированный и ассоциативный массивы

Испытания
Уроки
  • О курсе

  • Инкапсуляция

  • Контекст (This)

  • Связывание (bind)

  • Особенности работы this со стрелочными функциями

  • Конструктор

  • Прототипы

  • Упаковка и Распаковка (Boxing)

  • toString()

  • Класс

  • Статические свойства и методы

  • Исключения

  • Место и понимание ООП в программировании


Чему научитесь
  • Грамотно использовать контекст this в зависимости от ситуации

  • Описывать сущности предметной области с помощью объектов, прототипов и классов

  • Понимать, как работают объекты в JavaScript на самом низком уровне

  • Использовать исключения в своем коде

Испытания
Уроки
  • О курсе

  • Шаблоны проектирования

  • Конфигурация

  • Изменяемая конфигурация

  • Объекты-Сущности, Объекты-Значения и внедренные объекты

  • Fluent Interface

  • Сборщики

  • Прокси

  • Пишем код правильно


Чему научитесь
  • Правильно писать и структурировать код в классовых языках.

  • Понимать, как конфигурировать код в зависимости от задачи.

  • Создавать удобные интерфейсы объектов для своей предметной области.

Испытания
Уроки
  • О курсе

  • Параметрический полиморфизм

  • Диспетчеризация по ключу (данные)

  • Диспетчеризация по ключу (функции)

  • Диспетчеризация по имени файла

  • Утиная типизация

  • Null Object Pattern

  • Код, который убивает полиморфизм

  • Инверсия зависимостей

  • Паттерн Стратегия

  • Паттерн Фабрика

  • Шаблоны проектирования

  • Объектная композиция

  • Паттерн Состояние (State)


Чему научитесь
  • Понимать разницу между разными видами полиморфизма и решаемые ими задачи

  • Распознавать и применять шаблоны проектирования (Стратегия, Фабрика, Состояние, Декоратор, Нулл-объект и другие)

  • Использовать различные виды диспетчеризации для уменьшения и упрощения кода

Испытания
Уроки
  • О курсе

  • Наследование

  • Позднее связывание

  • Шаблонный метод

  • Переопределение методов

  • Принцип подстановки Лисков

  • Исключения

  • Композиция вместо наследования


Чему научитесь
  • Грамотно выбирать между наследованием и композицией

  • Следовать принципу подстановки Лисков при построении иерархий классов

  • Реализовывать паттерн «шаблонный метод»

  • Познакомиться с иерархиями исключений

Создание собственной библиотеки для проверки корректности (валидации) данных – отличный способ прокачать навыки проектирования кода, в особенности, объектно-ориентированной архитектуры. Создание правильных иерархий классов, глубокая работа с this, расширяемая архитектура, применение принципов SOLID, использование fluent-интерфейса – все это предстоит делать в проекте

Подробнее

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

Курс состоит из учебных модулей с уроками и проектами
  • В каждом уроке — теория, тесты на закрепление изученного и практика прямо в браузере

  • Задания проходят автоматическую проверку тестами и линтером

Теоретический материал
Мы воссоздали реальное рабочее пространство программиста. Прочувствуйте разработку «как есть» — с установкой софта, запуском кода, чтением ошибок и консольными командами
  • Вы прямо в браузере получаете доступ к виртуальной машине, редактору кода и к консоли

  • Сразу видите обратную связь по своему решению в виде тестов и их результатов

Упражнение в IDE
Проходите уроки самостоятельно в любое удобное время
  • Урок — это теория, квиз (проверочный тест) и практика

  • Учебный материал представлен в текстовом формате, иногда встречаются короткие видео

  • Практика может быть в виде упражнений в браузере, испытаний, проектов, самостоятельной работы и домашних заданий

  • Можно задавать вопросы по теории и практике уроков команде поддержки Хекслета

Тесты

Что говорят наши студенты о курсах и проектах

Ребята из Хекслета, спасибо за этот курс. Наверное, один из лучших в Профессии. Я прямо прочувствовал, как левелапнулся. На первом уроке (Параметрический полиморфизм) меня охватила паника, которая продлилась больше недели, но все остальные уроки удалось пройти за один день (не без косяков, конечно, но все основные принципы понял и освоил). Удивительно, но даже тема паттернов зашла без особенных проблем. Конечно, это всё ещё азы и детский сад, но всё равно приятно ощущать себя менее...

> Человек, который пишет код, который убивает полиморфизм — я =] Новый курс офигителен. Я реально его люблю. Мозг по-прежнему кипит, вижу элегантные решения учителя, до которых еще сам не всегда дохожу и ругаю себя, что не смог написать так же. Но хотя бы понимаю уже почему они элегантны. Когда только начинаешь изучать, то есть какие-то пресловутые пунктики, наподобие "короткий код" или какая-то подсмотренная и заученная техника. И видя решение учителя, даешься диву почему все хвалят этот...

Спасибо за курс! Получилось лучше понять абстракции, зачем они нужны и как работают на архитектуру приложений, когда текут и что это значит. Информация в теории и упражнениях даётся очень доступно и понятно.

Отличный курс. Практика прототипов и конструкторов на основе функций без сахара — это очень здорово и полезно, помогает понять суть вещей.

Хочу дать фидбэк по заданию. Оно крутое как раз тем, что в какой-то момент ты осознаешь прикол наследования. У меня так и получилось. Появился вопрос, а как мне проверить instance именно приложения, тут-то и дошло. Спойлерить не буду)

Очень классное задание, может из-за легкости понравилось, а может и нет. Ощущение будто снова работаю над проектом только уже в ООП стиле, конструкторы очень крутая тема, лайк за задание однозначно)

Задание би лайк: «Ладно, студент, ты хорошо учился 3/4 части профессии, поэтому сейчас можешь прострелить себе ногу. Но больше так не делай!». Спасибо, познавательно :D

Здравствуйте! Спасибо за материал урока и в целом тему "диспетчеризация по ключам", очень интересно и применимо.

Получите доступ

К этому треку и ко всем остальным курсам Хекслета по подписке за 3 900 ₽ в месяц

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Кому подойдет обучение

Тем, кто уже программирует и хочет повысить свой профессиональный уровень
Тем, кто пробовал учиться на сторонних курсах, но до сих пор испытывает сложности в самостоятельном написании кода
Тем, кто умеет программировать хотя бы на одном любом языке

Хекслет —
это серьезная подготовка инженеров-программистов

  • Топовые IT-компании обучают своих сотрудников на Хекслете

  • Весь обучающий контент создан практикующими IT-специалистами

  • Программы, направленные на системное развитие инженерного мышления

17 000+

Студентов учатся ежемесячно

4.7+ звезды
4.7+

Рейтинг на отзовиках: Otzyvmarketing

9.1 баллов
Индекс лояльности

Нашу платформу часто рекомендуют студенты

Нам доверяют обучение своих сотрудников

Контур
Kaiten
СБЕР МАРКЕТ
Bell integrator
QIWI
Agima
Авиасейлc
Альфа Банк
Uchi.ru
Райффайзенбанк
PeterService
Simtech
Itech Group
Хотите учиться от компании?

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

Оформите подписку за 3 900 ₽ в месяц
  • Получите доступ к этому треку и ко всем остальных курсам Хекслета

  • Учитесь сколько нужно, отменить подписку можно в любой момент

  • Задавайте вопросы по урокам — вам ответит поддержка Хекслета

  • Сохраните неограниченный доступ к пройденной теории даже после отмены подписки

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Трек — это набор курсов по определенной теме для повышения квалификации и развития инженерного мышления. Треки подходят как для разработчиков с опытом, так и для новичков в качестве задания «со звёздочкой».

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

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

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

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

Тогда вы можете обучаться вместе с наставником.

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

Наставник помогает справляться с трудностями, отвечает на вопросы и делает ревью проектов.

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

Если решите учиться самостоятельно, оформите подписку на план «Базовый». Доступ ко всем трекам откроется сразу после оплаты.

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