hexlet-frontend
October 2, 2020
JS: Полиморфизм (22)
Полиморфизм (подтипов) – главная отличительная черта современного ООП. Он позволяет значительно уменьшить количество условных конструкций и сделать код расширяемым.
Вместе с тем, полиморфизм – большая и глубокая тема, требующая серьезной подготовки. Здесь начинаются шаблоны проектирования и принципы SOLID. Все это является неотъемлемой частью разработки на JavaScript у профессиональных разработчиков.
Чему вы научитесь:
- Понимать разницу между разными видами полиморфизма и решаемые ими задачи
- Распознавать и применять шаблоны проектирования (Стратегия, Фабрика, Состояние, Декоратор, Нулл-объект и другие)
- Использовать различные виды диспетчеризации для уменьшения и упрощения кода
Уроки курса
- 1О курсеУзнать о курсе, его структуре, задачах и целях.теория
- 2Параметрический полиморфизмПознакомиться с обобщённым программированием.теориятестыупражнение
- 3Диспетчеризация по ключу (данные)Научиться заменять условные конструкции на таблицу соответствиятеориятестыупражнение
- 4Диспетчеризация по ключу (функции)Научиться делать диспетчеризацию используя функциитеориятестыупражнение
- 5Диспетчеризация по имени файлаПознакомиться с диспетчеризацией на основе файловой структурытеорияупражнение
- 6Полиморфизм (утиная типизация)Познакомиться с утиной типизациейтеориятестыупражнение
- 7Null Object PatternРассмотреть практический пример использования полиморфизма в реальной жизни.теориятестыупражнение
- 8Код, который убивает полиморфизмПознакомиться с распространёнными ошибками, из-за которых теряется полиморфизм подтиповтеориятестыупражнение
- 9Инверсия зависимостейПознакомиться с Принципом Инверсией Зависимостей и научиться соблюдать его используя Инъекцию Зависимостейтеориятестыупражнение
- 10Стратегия (Паттерн)Научиться видеть места, где нужно использовать полиморфизм подтиповтеориятестыупражнение
- 11Фабрика (Паттерн)Познакомиться с распространённым способом создания объектовтеориятестыупражнение
- 12Шаблоны проектирования (Паттерны)Познакомиться с понятием "шаблон проектирования"теориятестыупражнение
- 13Объектная композицияНаучиться писать объектно-ориентированный код построенный на взаимодействии объектовтеориятестыупражнение
- 14Паттерн Состояние (State)Рассмотреть несколько примеров систем и выявить общий паттерн.теориятестыупражнение