Architettura come codice con C4
Esistono numerosi strumenti e approcci per la creazione di diagrammi di concetti, progetti e architetture di software. Quando ho bisogno di descrivere la sequenza e il flusso di comunicazione tra sistemi o persone, in genere mi affido a un diagramma di sequenza. I diagrammi di stato sono utili anche quando si lavora sul comportamento del sistema in base alle azioni e alle transizioni di stato del sistema che si verificano di conseguenza. In termini di tipo di diagramma da sistema a sistema o da componente a sistema, vengono utilizzati riquadri e frecce. Per fare meglio in questo, C4 (https://c4model.com/) è stato creato da Simon Brown per fornire un approccio comune alla creazione di diagrammi di contesto, contenitori, componenti e diagrammi di classe.
Come Codice
Le tecniche di cui sopra hanno trovato la loro strada in strumenti che supportano l'uso del linguaggio specifico del dominio (DSL) basato su testo per, in effetti, utilizzare il codice per descrivere e rendere il disegno in vari formati grafici. Alcuni esempi di questi strumenti includono www.sequencediagram.org, che è davvero intuitivo per lo sviluppo di diagrammi di sequenza. Un altro strumento simile è PlantUML. Di recente abbiamo iniziato a sfruttare il supporto C4 e l'integrazione con Visual Studio Code tramite l'estensione (https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml). Questo ha dimostrato di essere estremamente prezioso.
È stato detto che l'architettura mira a offrire una comprensione condivisa del sistema software e del suo design. Il modo migliore per garantire ciò è fare in modo che sviluppatori e team utilizzino un mezzo coerente per trasmettere questa comprensione. Visual Studio, PlantUML e C4 contribuiscono in modo significativo a questo obiettivo. E con il DSL di PlantUML, i team possono gestire questa comprensione condivisa come codice.

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































