In this episode, you will continue with part two of .NET 6 using Onion Architecture.
We laid out the core project, the first unit test, and the private bill and now we will review those builds and get them working on windows images. You will also see the difference between GitHub Actions and Azure Pipelines, the difference in speed when building, and the Yammel format of both.
After that, we will go into documenting and diagraming the architecture for this church bulletin application. It’s so important to communicate to future team members what your architectural decisions are and that is why we document, diagram, or sketch out any decisions about how the application will be used, where it is going to be hosted and the structure of the visual studio solution.
This is done once at the beginning of a project and then incrementally as architectural decisions are made. This way, anyone else that comes to contribute to the software immediately understands what the overall intent is.
You have a vision in your head on day one with a little tiny bit of code then on day two and day three and day four, the vision grows and develops into a full vision for the software that needs to be realized. The communication tool of the vision becomes important for any team member to break it down.
This episode also introduces the two most widely used mechanisms for going from high level down to detailed architecture and design diagrams- Philippe Kruchten’s 4+1 View Model and Simon Brown’s C4 Model for architectural diagrams.
You will learn PlantUML for creating diagrams that you can save in a Git repository that is a text format. These are similar in a textual format when you make a change to them, you can diff them and you can see them, and they are friendly to pull requests.
There’s some very simple tooling in VS code that allows us to automatically generate an image diagram from the textual representation that we will go through and use to create the architectural diagrams. You will create five layers of architectural blueprints describing what you’re going to end up with as you create this church bulletin application.