We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
The C4 model for visualising software architecture by Simon Brown
Learn about the C4 model for software architecture visualization - a simple, hierarchical approach using Context, Containers, Components & Code diagrams to communicate design.
-
The C4 model consists of 4 hierarchical levels of diagrams: Context, Containers, Components, and Code, mapping to different levels of abstraction in software architecture
-
C4 is notation-independent - you can use any shapes or colors as long as they are defined in a key/legend and remain consistent
-
The model emphasizes adding descriptive text in diagram boxes to explain responsibilities and key features, rather than just naming components
-
Static structure diagrams form the core of C4, showing the architecture at different zoom levels, while dynamic diagrams can show runtime behavior
-
Technology choices should be included in diagrams since they represent architecturally significant decisions that are hard to change later
-
Common abstraction levels are more valuable than enforcing a specific notation - focus on clear communication over notation rules
-
For large systems, create multiple focused diagrams rather than trying to show everything in one complex diagram
-
Automatic generation from code is recommended for the lower levels (components/code) to maintain accuracy
-
The model helps bridge the gap between high-level architecture models and actual code implementation
-
The top two levels (Context and Containers) are most commonly used and are suitable for all stakeholders, while lower levels target technical audiences