By now you know how to patrol your architetural boundaries with respect to automatic tests. You’ve also learned to supervise the evolution of your tests, which provides you with an early warning system when things start to go downhill.
In this final chapter of Part II, we’ll apply these techniques to architecture in general. We’ll base the discussions around common architectural patterns and see how we can analyze their effectiveness with respect to the way we work with the code.
We’ll start with an analysis of Code Maat’s architecture. Once you’re comfortable with the analysis of a small system, we’ll move on to investigate a large web-based application built on multiple technologies like .Net, JavaScript, and CSS. Finally, we’ll discuss how you can analyze micro-service architectures.
By focusing on architectures built on radically different patterns, you’ll learn the general principles behind the analysis methods. That will give you the tools you need to apply the techniques on your own system, no matter what architectural style you use.
This chapter takes a different starting point from what you’ll otherwise meet in programming books. Instead of focusing on design principles, we’ll use beauty as a reasoning tool. You’ll see that beauty is a fundamental quality of all good code. Here you’ll learn what beautiful code is, why it matters, and how your brain loves it. Let’s dive into attractiveness.