курс

JS: Программирование, управляемое данными

3557 студентов 3056 сообщений
Последнее обновление: 23 сентября 2021
Курс JS: Программирование, управляемое данными
3 900 ₽ в месяц
за все курсы Хекслета
Зарегистрироваться
  • Тренажер с практикой
  • Пожизненный доступ к теории
  • Асинхронный формат обучения

Включено в курс

9 уроков (видео и/или текст)
8 упражнений в тренажере
33 проверочных теста
Помощь в «Обсуждениях»
Доступ к остальным курсам платформы

Чему вы научитесь

  • Делать свое ООП с типами и диспетчеризацией
  • Использовать инверсию зависимостей для изменения поведения кода без его переписывания
  • Создавать классы и использовать их в JavaScript
  • Применять полиморизм для уменьшения количества условных конструкций и дублирования

Описание

В течение этого курса мы будем писать собственную карточную игру и знакомиться с такими важными концепциями программирования, как пользовательские типы, динамическая диспетчеризация по типу, позволяющая писать ёмкий, универсальный код, полиморфизм, передача сообщений между сущностями и, конечно, основы важнейшей темы — объектно-ориентированного программирования. Также мы перейдем к разработке через тесты (test driven development).

Уроки курса

Продолжительность 11 часов
  • 1

    Введение

    Познакомиться с курсом и с проектом карточной игры, над которым мы будем работать в течение всего курса, по ходу знакомясь с важными концепциями программирования.
  • 2

    Игровой дизайн: карточный бой

    Продумать игровой дизайн нашей карточный игры: как работает игра, как выглядит структура программы и как устроен процесс игры. Проработать поведение программы через тесты.
  • 3

    Инверсия

    Улучшить один важный аспект игры, который не позволял нам полноценно тестировать ход игры.
  • 4

    Помеченные данные

    Разобрать недостатки текущей реализации нашей игры. Разобраться с понятием «помеченных данных», которое является одним из важнейших аспектов всего курса.
  • 5

    Диспетчеризация по типу. Аддитивность.

    Понять, что такое аддитивные программы и как динамическая диспетчеризация поможет нам строить такие программы. Разобраться, что такое диспетчеризация в контексте программирования и типов.
  • 6

    Объекты

    Познакомиться с объектами в контексте современного, общепринятого понятия объектно-ориентированного программирования. Понять, как динамическая диспетчеризация дала возможность работать с объектами в ООП.
  • 7

    Нативные объекты

    Рассмотреть объекты, встроенные в сам язык JavaScript, с учетом знаний об объектах, которые мы получили ранее. Разобраться с тем, как объекты определяются как константы, но при этом могут изменяться.
  • 8

    Классы

    Познакомиться с классом — структурой, которая позволяет создавать объекты. Рассмотреть механизм создания новых объектов с помощью 'new'.
  • 9

    Полиморфизм

    Познакомиться с понятием полиморфизма в языках программирования. Разобрать три типа полиморфизма.
  • 10

    Дополнительные материалы

    Помогают глубже и всесторонне рассмотреть тему курса в открытых статьях и видео подобранных командой Хекслета

Формат обучения

Впечатления

Аватар пользователя Тимур Ахметов
Тимур Ахметов 19 ноября 2020

У меня прозрение! Я уже прошел всю "профессию", но только после этого урока по-настоящему понял:

  1. что такое ООП и зачем оно нужно
  2. как работает "передача сообщений"
  3. разницу между объектами в контексте ООП и типом данных Object в JS

Неиспользование в данном курсе специфического для языка синтаксиса действительно помогло лучше понять фундаментальные концепции программирования!


Аватар пользователя Lidia M
Lidia M 16 августа 2019

После пройденной профессии PHP этот курс очень хорошо зашел. Более глубокое понимание темы ООП, чем популярное "это там, где классы и объекты"))


Аватар пользователя Dima
Dima 26 ноября 2020

потрясающе как из пар строились точки в координатной плоскости, а теперь с их же помощью динамическая диспетчеризация. это конечно высший пилотаж


Аватар пользователя Владимир Дранников
Владимир Дранников 21 апреля 2020

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


Аватар пользователя Dmitry Fedotov
Dmitry Fedotov 18 января 2020

Спасибо за такой прекрасный курс, было очень интересно!)