Архитектура C4
C4 — это иерархическая система диаграмм для визуализации архитектуры программного обеспечения, созданная Саймоном Брауном, которая предлагает четыре уровня детализации: Контекст, Контейнеры, Компоненты и Код. Служит для описания систем и их взаимосвязей.
Разберём каждый уровень отдельно:
1. Контекст (Context)
Самый общий уровень, показывающий программную систему в её окружении, взаимодействие с пользователями (людьми) и внешними системами.
2. Контейнеры (Containers)
Показывает основные подсистемы (приложения, базы данных, микросервисы) внутри программной системы и их взаимодействие друг с другом).
3. Компоненты (Components)
Детализирует каждый контейнер, разбивая его на более мелкие, логически связанные функции с чётко определёнными интерфейсами.
4. Код (Code)
Самый детальный уровень, на котором отображаются элементы кода (классы, интерфейсы, функции), реализующие компоненты.
Преимущества модели C4
- Масштабируемость:
Позволяет "приближать" или "отдалять" детали, показывая систему с разной степенью детализации. - Понятность:
Простота нотации делает диаграммы понятными для разных специалистов, от бизнес-аналитиков до разработчиков. - Иерархичность:
Чёткое разделение на уровни помогает постепенно раскрывать сложность системы, не перегружая диаграммы лишней информацией. - Гибкость:
Модель не навязывает строгие формальные нотации и может использовать различные инструменты для создания диаграмм, включая UML и Miro.