курс

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

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

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

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

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

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

Описание

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

Этот курс подойдет для тех, кто уже знаком с основами синтаксиса JavaScript. Чтобы учиться было проще, стоит заранее изучить:

Программа курса

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

    Введение

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

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

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

    тесты

    упражнение

  • 3

    Инверсия

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

    тесты

    упражнение

  • 4

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

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

    тесты

    упражнение

  • 5

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

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

    тесты

    упражнение

  • 6

    Объекты

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

    упражнение

  • 7

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

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

    тесты

    упражнение

  • 8

    Классы

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

    тесты

    упражнение

  • 9

    Полиморфизм

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

    тесты

    упражнение

  • 10

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

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

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

Отзывы

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

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

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

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


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

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


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

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


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

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


Аватар пользователя Cross Minder
Cross Minder 18 января 2020

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

Рекомендуемые программы

профессия
от 6 300 ₽ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 4 апреля
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 4 апреля
профессия
от 6 183 ₽ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 4 апреля
профессия
от 6 300 ₽ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 4 апреля
профессия
от 5 025 ₽ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 4 апреля
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 4 апреля
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 4 апреля
профессия
от 9 900 ₽ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 4 апреля
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 4 апреля
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
в разработке
Старт 4 апреля
профессия
Верстка с использованием последних стандартов CSS
5 месяцев
с нуля
Старт в любое время