- C4 모델은 시스템 컨텍스트, 컨테이너, 컴포넌트, 코드라는 네 가지 추상화 수준을 사용하여 소프트웨어 아키텍처를 시각화하는 방법
- C4 모델은 배우기 쉽고 개발자 친화적으로 설계되어 개발 팀 내외의 커뮤니케이션을 돕는다
- C4 모델은 표기법과 도구에 독립적이므로 어떤 표기법이나 도구 세트와도 사용 가능
- 시스템 컨텍스트 다이어그램은 소프트웨어 시스템이 넓은 맥락에 어떻게 들어맞는지, 사용자와 다른 시스템과의 상호작용을 보여준다
- 컨테이너 다이어그램은 소프트웨어 시스템을 확대하여 고수준 기술 구성 요소를 보여준다
- 컴포넌트 다이어그램은 개별 컨테이너를 확대하여 그 안의 컴포넌트를 보여준다
- 코드 다이어그램은 개별 컴포넌트를 확대하여 그 컴포넌트가 어떻게 구현되는지를 보여줄 수 있다
- C4 모델은 소프트웨어 아키텍트와 개발자가 소프트웨어를 생각하고 만드는 방식을 반영한 추상화를 기반으로 한 소프트웨어 아키텍처 다이어그램의 "추상화 우선" 접근법
- C4 모델은 Google Maps가 관심 지역을 확대하거나 축소하는 것과 유사하게 코드의 다양한 세부 수준에서 지도를 만드는 데 사용할 수 있다
- C4 모델은 초기 설계 세션 중 소프트웨어 아키텍처를 전달하고 기존 코드베이스를 회고적으로 문서화하는 데 사용할 수 있다
- C4 모델은 커뮤니케이션, 새로운 직원의 효율적인 온보딩, 아키텍처 리뷰/평가, 위험 식별, 위협 모델링 등을 돕는 데 사용할 수 있다
- C4 모델은 특정 표기법을 권장하지 않지만, 화이트보드, 종이, 스티키 노트, 인덱스 카드, 다양한 다이어그램 도구에서 잘 작동하는 간단한 표기법이 시작점으로 제공된다
- C4 모델은 arc42 문서 템플릿과 호환 가능
- C4 모델은 다양한 추상화 수준에서 소프트웨어 시스템을 모델링하도록 설계되었으며, 다양한 프로그래밍 언어로 구축된 다양한 소프트웨어 아키텍처를 설명하는 데 사용할 수 있으며, 다양한 플랫폼에 배포할 수 있다