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>