Как описать архитектуру продукта по нотации C4
Конспект статьи. Автор оригинала: true_engineer (True Engineering, перевод)
Команда True Engineering выбрала C4, чтобы унифицировать описание архитектуры: разные команды использовали разные инструменты и уровни абстракции.
Почему не альтернативы
Visio громоздкий, UML-диаграммы быстро множатся и плохо поддерживаются, модель 4+1 сложна для новичков. C4 обходит это небольшим набором понятных уровней — как карта с разным масштабом.
Уровни
- Context — система, пользователи, соседние системы; понятна нетехническим людям, меняется редко.
- Container — отдельно разворачиваемые части: приложения, БД, функции. Не Docker-контейнеры.
- Component — группы функций с интерфейсом внутри контейнера.
- Code — UML-классы; рисовать только для важных модулей, лучше генерировать.
Устаревание
Контекст почти не меняется, контейнеры — при появлении сервисов, компоненты — при каждом рефакторинге. Нижние уровни стоит автоматизировать.
Инструменты
PlantUML для описания, C4Builder для экспорта, плагин IDE для навигации между уровнями.
Источник: Как описать архитектуру продукта по нотации C4
Автор: true_engineer (True Engineering, перевод)
Это конспект, пересказ основных идей. Полный текст, иллюстрации и примеры читайте в оригинальной статье.
Автор: true_engineer (True Engineering, перевод)
Это конспект, пересказ основных идей. Полный текст, иллюстрации и примеры читайте в оригинальной статье.