HTML Diff
12 added 37 removed
Original 2026-01-01
Modified 2026-02-26
1 - <h2>Описание</h2>
1 + <p>Правильная организация кода</p>
2 - <p>На этом курсе вы познакомитесь с полиморфизмом на PHP. Вы узнаете о динамической диспетчеризации, полиморфизме подтипов и инверсии зависимостей. В итоге поймете, как значительно уменьшить количество условных конструкций и сделать код расширяемым. Знания из курса пригодятся, чтобы распознавать и применять шаблоны проектирования.</p>
2 + <p>Выделение интерфейсов, абстракции, работа с побочными эффектами, принцип SRP</p>
3 - <h2>Программа</h2>
3 + <p>Шаблоны проектирования</p>
4 - <p>1</p>
4 + <p>Изучение подходов для решения распространенных задач, примеры паттернов, антипаттерны</p>
5 - <a>О курсе</a><p>Знакомимся с целями и задачами курса</p>
5 + <p>Конфигурация</p>
6 - <p>2</p>
6 + <p>Проектирование классов с учетом конфигурации, использование параметров для настройки поведения, изменяемая конфигурация</p>
7 - <a>Параметрический полиморфизм</a><p>Знакомимся с обобщенным программироанием</p>
7 + <p>Объекты-Сущности и Объекты-Значения</p>
8 - <p>3</p>
8 + <p>Объекты с уникальной идентичностью, объекты, описывающие данные без уникальности, использование объектов внутри других объектов</p>
9 - <a>Диспетчеризация по ключу (данные)</a><p>Учимся заменять условные конструкции на таблицу соответствия</p>
9 + <p>Fluent Interface</p>
10 - <p>4</p>
10 + <p>Создание цепочек методов для улучшения читаемости, примеры использования, преимущества и ограничения</p>
11 - <a>Диспетчеризация по ключу (функции)</a><p>Учимся делать диспетчеризацию, используя функции</p>
11 + <p>Сборщики</p>
12 - <p>5</p>
12 + <p>Поэтапная сборка сложных объектов шаг за шагом, композиция объектов, текучий интерфейс в сборщиках, библиотеки Carbon, Collection, Symfony String</p>
13 - <a>Диспетчеризация по имени файла</a><p>Знакомимся с диспетчеризацией на основе файловой структуры</p>
 
14 - <p>6</p>
 
15 - <a>Полиморфизм и утиная типизация</a><p>Знакомимся с утиной типизацией</p>
 
16 - <p>7</p>
 
17 - <a>Null Object Pattern</a><p>Рассматриваем практический пример использования полиморфизма в реальной жизни</p>
 
18 - <p>8</p>
 
19 - <a>Код, который убивает полиморфизм</a><p>Знакомимся с распространенными ошибками, из-за которых теряется полиморфизм подтипов</p>
 
20 - <p>9</p>
 
21 - <a>Инверсия зависимостей</a><p>Знакомимся с принципом инверсии зависимостей и учимся соблюдать его, используя инъекцию зависимостей</p>
 
22 - <p>10</p>
 
23 - <a>Полиморфизм подтипов</a><p>Учимся использовать полиморфизм подтипов с интерфейсами</p>
 
24 - <p>11</p>
 
25 - <a>Стратегия (Паттерн)</a><p>Учимся видеть места, где нужно использовать полиморфизм подтипов</p>
 
26 - <p>12</p>
 
27 - <a>Динамическая диспетчеризация</a><p>Изучаем механизм, благодаря которому работает полиморфизм</p>
 
28 - <p>13</p>
 
29 - <a>Фабрика (Паттерн)</a><p>Знакомимся с распространенным способом создания объектов</p>
 
30 - <p>14</p>
 
31 - <a>Шаблоны проектирования (Паттерны)</a><p>Знакомимся с понятием "шаблон проектирования"</p>
 
32 - <p>15</p>
 
33 - <a>Объектная композиция</a><p>Учимся писать объектно-ориентированный код, построенный на взаимодействии объектов</p>
 
34 - <p>16</p>
 
35 - <a>Паттерн Состояние (State)</a><p>Рассматриваем несколько примеров систем и выявляем общий паттерн</p>
 
36 - <p>17</p>
 
37 - <a>Управление зависимостями</a><p>Знакомимся с сервис-локатором и di-контейнером</p>