Архитектура IT
September 29

Архитектура C4

C4 — это иерархическая система диаграмм для визуализации архитектуры программного обеспечения, созданная Саймоном Брауном, которая предлагает четыре уровня детализации: Контекст, Контейнеры, Компоненты и Код. Служит для описания систем и их взаимосвязей.

Картинка из Интернета

Разберём каждый уровень отдельно:

1. Контекст (Context)

Самый общий уровень, показывающий программную систему в её окружении, взаимодействие с пользователями (людьми) и внешними системами.

2. Контейнеры (Containers)

Показывает основные подсистемы (приложения, базы данных, микросервисы) внутри программной системы и их взаимодействие друг с другом).

3. Компоненты (Components)

Детализирует каждый контейнер, разбивая его на более мелкие, логически связанные функции с чётко определёнными интерфейсами.

4. Код (Code)

Самый детальный уровень, на котором отображаются элементы кода (классы, интерфейсы, функции), реализующие компоненты.

Преимущества модели C4

  • Масштабируемость:
    Позволяет "приближать" или "отдалять" детали, показывая систему с разной степенью детализации.
  • Понятность:
    Простота нотации делает диаграммы понятными для разных специалистов, от бизнес-аналитиков до разработчиков.
  • Иерархичность:
    Чёткое разделение на уровни помогает постепенно раскрывать сложность системы, не перегружая диаграммы лишней информацией.
  • Гибкость:
    Модель не навязывает строгие формальные нотации и может использовать различные инструменты для создания диаграмм, включая UML и Miro.