Architecture en tant que code avec C4

Feb 15 2023
Il existe un certain nombre d'outils et d'approches pour schématiser les concepts, les conceptions et les architectures de logiciels. Lorsque j'ai besoin de décrire la séquence et le flux de communication entre les systèmes ou les personnes, je m'appuie généralement sur un diagramme de séquence.

Il existe un certain nombre d'outils et d'approches pour schématiser les concepts, les conceptions et les architectures de logiciels. Lorsque j'ai besoin de décrire la séquence et le flux de communication entre les systèmes ou les personnes, je m'appuie généralement sur un diagramme de séquence. Les diagrammes d'état sont également utiles lorsque vous travaillez sur le comportement du système en fonction des actions et des transitions d'état du système qui en résultent. En termes de type de diagramme système à système ou composant à système, des cases et des flèches sont utilisées. Pour faire mieux dans ce domaine, C4 (https://c4model.com/) a été créé par Simon Brown pour fournir une approche commune de la création de diagrammes de contexte, de conteneurs, de composants et de diagrammes de classes.

En tant que code

Les techniques ci-dessus ont trouvé leur place dans des outils qui prennent en charge l'utilisation d'un langage textuel spécifique au domaine (DSL) pour, en fait, utiliser du code pour décrire et rendre le dessin dans divers formats graphiques. Quelques exemples de ces outils incluent www.sequencediagram.org, qui est vraiment intuitif pour développer des diagrammes de séquence. Un autre outil de ce type est PlantUML. Nous avons récemment commencé à tirer parti de sa prise en charge C4 et de son intégration avec Visual Studio Code via l'extension (https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml). Cela s'est avéré extrêmement précieux.

Il a été dit que l'architecture vise à offrir une compréhension partagée du système logiciel et de sa conception. La meilleure façon de s'en assurer est que les développeurs et les équipes utilisent un moyen cohérent pour transmettre cette compréhension. Visual Studio, PlantUML et C4 contribuent de manière significative à cet objectif. Et avec le DSL de PlantUML, les équipes peuvent gérer cette compréhension partagée sous forme de code.