Ответ
C4 Model — это подход к визуализации архитектуры ПО через 4 уровня абстракции:
- Контекст (система в рамках внешних взаимодействий)
- Контейнеры (приложения, БД, сервисы)
- Компоненты (ключевые модули внутри контейнеров)
- Код (детали реализации, например, классы/функции)
Пример для Go:
// Уровень 4 (Код) — реализация компонента "UserService"
type UserService struct {
repo UserRepository
}
func (s *UserService) GetUser(id string) (*User, error) {
return s.repo.FindByID(id)
}
Плюсы:
- Простота для разных аудиторий (от бизнеса до разработчиков)
- Масштабируемость (можно углубляться в детали)
- Ясность зависимостей
Используется для документирования и проектирования архитектуры.