JS: Программирование, управляемое данными
Включено в курс
Чему вы научитесь
- Делать свое ООП с типами и диспетчеризацией
- Использовать инверсию зависимостей для изменения поведения кода без его переписывания
- Создавать классы и использовать их в JavaScript
- Применять полиморфизм для уменьшения количества условных конструкций и дублирования
Описание
На этом курсе вы познакомитесь с программированием, управляемым данными. Вы узнаете, как использовать данные для управления логикой программы. Вы научитесь создавать динамические приложения и работать с классами, узнаете о полиморфизме и его типах, познакомитесь с диспетчеризацией по типу и аддитивностью. Знания из этого курса помогут создавать мощные и гибкие приложения, которые легко адаптируются к изменениям данных.
Этот курс подойдет для тех, кто уже знаком с основами синтаксиса JavaScript. Чтобы учиться было проще, стоит заранее изучить:
Программа курса
-
2
Игровой дизайн: карточный бой
Продумать игровой дизайн нашей карточный игры: как работает игра, как выглядит структура программы и как устроен процесс игры. Проработать поведение программы через тесты. -
4
Помеченные данные
Разобрать недостатки текущей реализации нашей игры. Разобраться с понятием «помеченных данных», которое является одним из важнейших аспектов всего курса. -
5
Диспетчеризация по типу. Аддитивность.
Понять, что такое аддитивные программы и как динамическая диспетчеризация поможет нам строить такие программы. Разобраться, что такое диспетчеризация в контексте программирования и типов. -
7
Нативные объекты
Рассмотреть объекты, встроенные в сам язык JavaScript, с учетом знаний об объектах, которые мы получили ранее. Разобраться с тем, как объекты определяются как константы, но при этом могут изменяться. -
9
Полиморфизм
Познакомиться с понятием полиморфизма в языках программирования. Разобрать три типа полиморфизма. -
10
Дополнительные материалы
Статьи и видео, подобранные командой Хекслета. Помогут глубже погрузиться в тему курса
Формат обучения
Испытания
Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже
Отзывы

У меня прозрение! Я уже прошел всю "профессию", но только после этого урока по-настоящему понял:
- что такое ООП и зачем оно нужно
- как работает "передача сообщений"
- разницу между объектами в контексте ООП и типом данных Object в JS
Неиспользование в данном курсе специфического для языка синтаксиса действительно помогло лучше понять фундаментальные концепции программирования!

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

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

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