Декомпозиция: как правильно делить систему на части | Архитектура ПО #2
Кирилл Степанков
0:00 / 0:00
Декомпозиция: как правильно делить систему на части | Архитектура ПО #2
59 просмотров · 2 недели назад
Кирилл Степанков
39 подписчиков
59 просмотров · 2 недели назад
Как делить систему на части, чтобы правка в одном месте не ломала всё остальное. Связность, связанность, критерий Парнаса и глубокие модули.
Серия 2 из 24 курса «Архитектура ПО простым языком».
В этой серии:
• Две мерки хорошего разбиения: связность (cohesion) и связанность (coupling)
• Виды связанности и связности — от худших к лучшим
• Управляющая связанность: почему флаг mode — плохая идея
• Критерий Парнаса: делим не по шагам алгоритма, а по «секретам»
• Папки по слоям или по фичам, глубокие модули Остерхаута
• Алгоритм декомпозиции и признаки плохого разбиения
Таймкоды:
0:00 Декомпозиция и базовые принципы
0:34 Декомпозиция: большое — на понятные части
1:28 Две мерки разбиения: связность и связанность
2:23 Виды связанности: от худшей к лучшей
3:17 Виды связности: от худшей к лучшей
4:12 Управляющая связанность: флаг mode
5:06 Почему отдельные функции лучше флага
6:01 Критерий Парнаса: делим по секретам
6:55 Функция-монстр: по шагам или по секретам
7:48 Замена 1С на другую систему: что правим
8:39 Пять способов делить систему на модули
9:34 Папки проекта: по слоям или по фичам
10:25 Почему по фичам и где всё же нужны слои
11:19 Глубокие модули: простой вход, много работы
12:14 Пример: уведомить клиента одним вызовом
13:07 Уровни декомпозиции: от системы до функции
14:07 Алгоритм декомпозиции: шесть шагов
15:06 Признаки плохой декомпозиции
16:06 Шпаргалка: как делить на части
◀ Предыдущая серия 1: Введение: зачем архитектура и наш полигон
▶ Следующая серия 3: Базовые принципы: SoC, DRY, KISS, YAGNI, Деметра, CQS
О курсе. «Архитектура ПО простым языком» — 24 серии: декомпозиция, GRASP, SOLID, паттерны проектирования, DDD, контракты, слои и архитектурные стили. Каждую идею разбираем на задаче условного B2B-магазина магнитов «Полюс»: как обычно делают, как правильно и почему так лучше. Примеры кода — на Python.
Все серии по порядку — в плейлисте «Архитектура ПО простым языком» на канале. Подписывайтесь: программирование и AI простым языком.
#архитектураПО #декомпозиция #программирование
ТЕГИ
декомпозиция, cohesion, coupling, связность, связанность, критерий Парнаса, information hiding, глубокие модули, модульность, архитектура ПО, проектирование ПО