C4 models as code - Simon Brown - NDC Porto 2023

preview_player
Показать описание
This talk was recorded at NDC Porto in Porto, Portugal. #ndcporto #ndcconferences #architecture #code #softwaredeveloper

Attend the next NDC conference near you:

Subscribe to our YouTube channel and learn every day:

Follow us on our Social Media:

"Diagrams as code", as featured on the ThoughtWorks Tech Radar, is becoming a popular way to create software architecture diagrams for inclusion in long-lived documentation.

The benefits of creating diagrams from text are well understood - text is version controllable, easy to diff, easy to integrate into build pipelines, and automatic layout facilities allow authors to focus on content. The majority of these tools (e.g. PlantUML and Mermaid) are focussed on diagramming though, and require you to create one text file per diagram, with only a limited ability to reuse diagram elements across multiple diagrams. At scale, this causes maintenance problems, and leads to inconsistencies between diagrams.

This talk will introduce and demonstrate the open source Structurizr DSL - a way to create a model of your software architecture using a textual DSL that's specifically targeted towards the C4 model. We'll also see how the DSL separates content from presentation, allowing you to render your diagrams with a number of tools, which in turn offers some answers for the tricky question of how to use the C4 model at scale.
Рекомендации по теме
Комментарии
Автор

This is great! I'll adopt immediately!

alandmcleod
Автор

These diagrams should also be possible as a byproduct of the architecture so to say. But as Simon mentions in the beginning, this is hard to achieve.

VoroninPavel
Автор

i herd of c4 - very popular in action movies

henrychoy
Автор

this is very promising, I have been dreaming of something that can group several layers of abstraction as one object, similar to Simulink, I can't understand what it took so long for someone to come up with something like that. being texted based is a big plus for git

ramizazadaliyev
Автор

Maybe likeC4 would be good for complex ERDs?

jimiwills