PHP: Полиморфизм
Включено в курс
Чему вы научитесь
- Понимать разницу между разными видами полиморфизма и решаемые ими задачи
- Распознавать и применять шаблоны проектирования (Стратегия, Фабрика, Состояние, Декоратор, Нулл-объект и другие)
- Использовать различные виды диспетчеризации, чтобы уменьшать и упрощать код
- Управлять зависимостями, внедрять их с помощью DI-контейнера
Описание
На этом курсе вы познакомитесь с полиморфизмом на PHP. Вы узнаете о динамической диспетчеризации, полиморфизме подтипов и инверсии зависимостей. В итоге поймете, как значительно уменьшить количество условных конструкций и сделать код расширяемым. Знания из курса пригодятся, чтобы распознавать и применять шаблоны проектирования.
Теория и практика в курсе рассчитаны на тех, кто уже хорошо знаком с языком PHP. Если у вас возникнут сложности, рекомендуем пройти эти курсы:
Программа курса
-
3
Диспетчеризация по ключу (данные)
Учимся заменять условные конструкции на таблицу соответствия -
4
Диспетчеризация по ключу (функции)
Учимся делать диспетчеризацию, используя функции -
5
Диспетчеризация по имени файла
Знакомимся с диспетчеризацией на основе файловой структуры -
7
Null Object Pattern
Рассматриваем практический пример использования полиморфизма в реальной жизни -
8
Код, который убивает полиморфизм
Знакомимся с распространенными ошибками, из-за которых теряется полиморфизм подтипов -
9
Инверсия зависимостей
Знакомимся с принципом инверсии зависимостей и учимся соблюдать его, используя инъекцию зависимостей -
10
Полиморфизм подтипов
Учимся использовать полиморфизм подтипов с интерфейсами -
11
Стратегия (Паттерн)
Учимся видеть места, где нужно использовать полиморфизм подтипов -
12
Динамическая диспетчеризация
Изучаем механизм, благодаря которому работает полиморфизм -
13
Фабрика (Паттерн)
Знакомимся с распространенным способом создания объектов -
14
Шаблоны проектирования (Паттерны)
Знакомимся с понятием «шаблон проектирования» -
15
Объектная композиция
Учимся писать объектно-ориентированный код, построенный на взаимодействии объектов -
16
Паттерн Состояние (State)
Рассматриваем несколько примеров систем и выявляем общий паттерн -
18
Дополнительные материалы
Статьи и видео, подобранные командой Хекслета. Помогут глубже погрузиться в тему курса
Формат обучения
Испытания
Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже