Summary
This chapter was all about preparing you to transform the way that you work and the way you that think about creating software. Learning patterns is a big deal. They usually encourage big changes to the quality and maintainability of your projects.
We started with some common metaphors that describe the typical devolution of software projects, namely spaghetti code and lasagna code. Spaghetti code is represented by a chaotic structure. Lasagna code is represented as a tiered structure with a leaky state and functionality between layers. Ravioli code represents the best code, as it uses the same ingredients as spaghetti and lasagna, but the contents of ravioli are fully encapsulated.
We introduced a few topics that usually fill entire books on their own. SOLID principles are the guiding star for most serious coding organizations, but I rarely see them taught. Beginner- and intermediate-level coders are usually so focused on languages and syntax that they don’t develop...