The C4 model aims to provide a common set of abstractions, rather than a common notation, for modelling systems. It acknowledges that we may use multiple diagrams to represent different perspectives of the same system. It promotes "diagrams as maps".
- A software system is made up of one or more containers.
- Each container comprises one or more *components.
The C4 models considers four levels of views, in ascending order of detail:
|System Context||A software system||Software systems, and people.|
|Container||A software system||Software systems, people, and containers within the software system|
|Component||A container||Software systems, people, containers within the parent system of the container, and components within the container.|
|Code||A component||Code elements (classes, interfaces) used in the component's implementation.|