Сезон 2026/27Проектирование веб-приложений
Уровень 5 из 21Ур. 5/21
до события1 дн 7 ч


Уровень 5 (занятие) · лекция · 3 октября, 11:10

Архитектурные стили и как выбирать. C4 и ADR

Какие бывают архитектурные стили и на какой вопрос отвечает каждый, как выбрать стиль под свои требования, как нарисовать систему в C4 и записать решение в ADR.

Курс «Проектирование веб-приложений» · 2026/27

Архитектурные стили и как выбирать

Из каких стилей выбирают, как выбрать под свои требования, как нарисовать систему в C4 и записать решение в ADR

1 / 67

← → листать · F на весь экран · P режим докладчика · Esc выйти

О чём лекция

Требования к системе у нас есть. Сегодня — из чего её собрать, почему именно так и как это показать на защите RAT-PoC.

  • Пять вопросов вместо списка стилей. Где выполняется логика, как связаны узлы, что развёртываем, как организован код, как общаются части. Каждый стиль отвечает на один из них, поэтому реальная система — сочетание ответов.
  • Клиент и сервер. Клиент-сервер и P2P (BitTorrent, блокчейн). Толстый и тонкий клиент, почему SPA — гибрид.
  • Что развёртываем. Монолит, модульный монолит и микросервисы: плюсы, минусы и цена. Закон Конвея и serverless как способ запускать бэкенд.
  • Код и взаимодействие. Слоистая архитектура и изоляция слоёв, событийно-ориентированная архитектура (посредник и брокер), микроядро.
  • Как выбирать. От нефункциональных требований к стилю и почему команде из двух-четырёх человек почти всегда хватает модульного монолита.
  • C4. Четыре уровня, правила нотации и типичные ошибки на защите. Контекст и контейнеры на примере Zulip.
  • ADR. Как записать архитектурное решение: контекст, решение, отвергнутые варианты, последствия. Пример — решение, на котором построен сайт курса.

Что сделать сегодня

  1. Ответить на пять вопросов о стиле для своего проекта и к каждому ответу подобрать требование, которое его оправдывает.
  2. Нарисовать C4 уровней 1 и 2 для своей системы и проверить их по правилам нотации со слайдов.
  3. Записать первый ADR: самое важное архитектурное решение проекта вместе с отвергнутыми вариантами.