Wat is het C4 model niveau 3?
Het C4 model is een model voor het visueel documenteren van softwarearchitectuur, opgebouwd uit vier niveaus: Context, Container, Component en Code. Niveau 3 – het Component Diagram – zoomt in op één container uit niveau 2 en laat zien uit welke componenten deze container bestaat.
Het doel van niveau 3 is om te begrijpen hoe een container intern is opgebouwd: welke componenten (zoals controllers, services, repositories) er zijn, en hoe deze samenwerken binnen de container. Verder is het van belang dat er geen nieuwe containers op niveau 3 worden gebruikt, die hiervoor niet op niveau 2 zijn benoemd.
Casus
In de afsprakenplanner is er een backend-API (container uit niveau 2). Deze API bestaat uit meerdere componenten, zoals controllers om afspraken te maken en voor notificaties, en modellen om de data van afspraken juist te bewaren/gebruiken.
Hoe zit C4 niveau 3 in elkaar?
Niveau 3 van het C4 model bevat een paar andere elementen dan niveau 2. Bij niveau 3 zijn ook de actoren (normaal en extern), externe systemen en relaties aanwezig. Verder zijn er nu een twee nieuwe elementen:
- Component: Een onderdeel binnen een container, zoals een service, controller of helper.
- Container context: De container context is de plek waar alle componenten van niveau 3 in geplaatst worden. Hiermee wordt aangeduid dat alle componenten binnen deze context onderdeel zijn van die container. Hierbij is het van belang dat de naamgeving van de container gelijk is aan de naam van de container in niveau 2. In Figuur 1 zijn de twee componenten die op niveau 3 beschikbaar zijn weergegeven.
Figuur 1 Componenten van C4 niveau 3
Verder is van belang bij het maken van een C4 niveau 3 model om alleen de containers te pakken die direct in verbinding staan met de container waar je op inzoomt. Als er ingezoomd wordt op de Backend-API van de casus van niveau 2, dan hoeven de actoren niet meer meegenomen te worden in de het model van niveau 3. Dit zal ook verder in de casus uitwerking hieronder zichtbaar zijn.
Hoe gebruik je het C4 model op niveau 3?
Gebruik niveau 3 om:
- Technische diepgang te geven: Laat ontwikkelaars zien hoe een container in elkaar zit.
- Samenwerking te verbeteren: Helpt developers, testers en architecten dezelfde taal te spreken over de interne werking van een container.
- Basis voor niveau 4: Niveau 3 kan leiden tot een gedetailleerdere code-weergaven, zoals klassen of functies.
Casus
Situatie: De backend-API is opgebouwd volgens de MVC methodiek. Doordat de views onderdeel zijn van de web pagina en de mobiele, zal de API gebruik maken van Headless MVC (ofwel, MVC zonder de views). Hierdoor zijn de volgende componenten aanwezig:
- Models
- Controllers
Mogelijke uitwerking van de casus
Bronnen
C4 model niveau 3: https://c4model.com/diagrams/component
Volgende stap: Uitleg C4 model niveau 4

