classes, interfaces, objects, functions, etc). Which in turn are implemented by one or more code elements (e.g. The C4 model considers the static structures of a software system in terms of containers, components and code.Īnd people use the software systems that we build.Ī software system is made up of one or more containers (web applications, mobile apps, desktop applications, databases, file systems, etc),Įach of which contains one or more components,
In order to create these maps of your code, we first need a common set of abstractions to create a ubiquitous language that we can use to describe the static structure of a software system.