Le modèle C4
Le modèle C4 est un modèle de représentation de l'architecture logicielle. Il est composé de 4 niveaux:
- Contexte système
- Considérer le système comme une boîte entourée d’utilisateurs, API, services tiers, etc.
- But: comprendre qui/quoi interagit avec le système (information utile pour le client, les chefs de projet et les devs).
- Conteneurs
- Ce qu’il y a à l’intérieur du système: web apps, apps mobiles, bases de données, API, services en arrière-plan, bases de données, etc.
- But: décomposer le système en unités déployables.
- Composants
- Définissez les blocs internes d’un conteneur (ex. les contrôleurs, les services, les routes, etc.).
- But: montrer la structure interne (contrôleurs, services, utilitaires, etc.) utile pour les développeurs et pour définir l'architecture du code.
- Code
- Rarement utilisé, montrant la structure du code (classes, interfaces, fonctions, etc.).
- But: utile pour les développeurs pour comprendre les détails d'implémentation.
Voici une infographie résumant le modèle C4 (source: icepanel.io):
Voici quelques ressources pour en savoir plus:
- Le site de online.visual-paradigm.com propose des exemples de diagrammes C4 sur différents cas d'usage. Ils peuvent servir de base pour les katas.
- Making Sense of Software Architecture with the C4 Model, explique les différents niveaux du modèle C4.
- C4 model — a better way to visualise software architecture
- C4 Model. My experience + Example
