C4-модель

C4 — это метод визуализации архитектуры системы через четыре уровня детализации (все начинаются на «C», отсюда и название).

1️⃣Контекст (Context) Смотрим на систему с высоты птичьего полёта:

  • Что это за система?
  • Кто её использует?
  • С какими внешними сервисами она взаимодействует?

Пример: Интернет-магазин взаимодействует с клиентами, платёжными системами и службами доставки.

2️⃣Контейнеры (Containers) Теперь посмотрим на систему ближе: из каких крупных частей состоит система? Контейнеры — это отдельные приложения, сервисы или хранилища данных.

Пример: В интернет-магазине могут быть:

  • Веб-сайт
  • Мобильное приложение
  • API-сервер
  • База данных

3️⃣Компоненты (Components) Ещё детальнее: из чего состоят контейнеры? Компоненты — это логические блоки внутри контейнера.

Пример: Веб-сайт интернет-магазина может включать:

-Систему авторизации -Каталог товаров -Корзину покупок -Платёжный модуль

4. Код (Code) Самый низкий уровень — реализация компонентов в коде.

Какие классы, функции, модули используются?

Как они взаимодействуют?

Пример: Компонент «Корзина покупок» может состоять из: -Класса Cart -Методов addItem(), removeItem(), checkout()

Зачем это нужно? C4 помогает: ✅ Чётко объяснить архитектуру (от общего к частному) ✅ Увидеть границы системы (что внутри, что снаружи) ✅ Общаться с разными аудиториями (бизнес, разработчики, DevOps)

Моя любимая часть С4 Сколько диаграмм в модели с4? Многие думают что 4, но их 7)

Полезные материалы:

C4-модель
C4 — это метод визуализации архитектуры системы через четыре уровня детализации (все начинаются на «C», отсюда и название) | Сетка — социальная сеть от hh.ru