Two weeks ago I watched on YouTube a presentation about how important diagrams are. I guess everyone agrees with the title of this presentation that diagrams deliver much more information that text.
The most interesting part of this presentation was how to generate diagrams automatically. The speaker shown a product Structurizr .
There are two functionalities that positively surprised me in Structurizr:
- Generation of diagrams by script. It is easier to manage that kind of diagrams in source control systems in my opinion by just managing text files.
- Generation of diagrams by C# code. You can analyze sample on GitHub https://github.com/structurizr/dotnet.
The second point impressed me more. The ability to generate diagrams by using .NET reflection is awesome. Adding custom attributes allows you to organize diagrams and keep all your diagrams in sync with your code. Structurizr looks like a library I should analyze in more depth when I come back from my holidays.