Arquitectura como código con C4
Hay una serie de herramientas y enfoques para diagramar conceptos, diseños y arquitecturas de software. Cuando necesito describir la secuencia y el flujo de comunicación entre sistemas o personas, normalmente me baso en un diagrama de secuencia. Los diagramas de estado también son útiles cuando se trabaja con el comportamiento del sistema basado en acciones y las transiciones de estado del sistema que ocurren como resultado. En términos de tipo de diagramas de sistema a sistema o de componente a sistema, se utilizan recuadros y flechas. Para hacerlo mejor en esto, C4 (https://c4model.com/) ha sido creado por Simon Brown para proporcionar un enfoque común para diagramar diagramas de contexto, contenedores, componentes y clases.
como código
Las técnicas anteriores se han convertido en herramientas que admiten el uso de lenguaje específico de dominio (DSL) basado en texto para, de hecho, usar código para describir y representar el dibujo en varios formatos gráficos. Algunos ejemplos de estas herramientas incluyen www.sequencediagram.org, que es muy intuitivo para desarrollar diagramas de secuencia. Otra herramienta de este tipo es PlantUML. Recientemente comenzamos a aprovechar su compatibilidad con C4 y su integración con Visual Studio Code a través de la extensión (https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml). Esto ha demostrado ser extremadamente valioso.
Se ha dicho que la arquitectura tiene como objetivo ofrecer una comprensión compartida del sistema de software y su diseño. La mejor manera de garantizar eso es hacer que los desarrolladores y los equipos utilicen un medio coherente para transmitir esta comprensión. Visual Studio, PlantUML y C4 contribuyen significativamente a ese objetivo. Y con DSL de PlantUML, los equipos pueden administrar esa comprensión compartida como código.

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































