Technical requirements
To make some abstract concepts more concrete, some design patterns will be illustrated with .NET code samples. If you want to test the code locally, you will need Visual Studio or Visual Studio Code (VS Code). Both can be downloaded for free from Microsoft websites.
Note that the code is provided for illustration purposes only. All the code samples and diagrams are available at https://github.com/PacktPublishing/Software-Architecture-for-Humans.
Let's start with a definition and the rationale behind design patterns.