Chapter 7. Improving your application design
This chapter covers
- Layering your code
- Discovering dependencies and eliminating cycles
- Library management for Mavenites
- Defining your architectural rule set
The size of an active project increases commit by commit, day by day, week by week. As your software grows, it gets more complex. New classes are added, methods are improved, and new libraries are created. Gradually, the structure that was clearly delineated and pristinely designed at the start turns into a morass. The first sign of trouble you usually notice is the mess of external libraries needed in order to compile and run an application in a production-like environment, but that’s just the tip of the iceberg.
In chapter 6, we looked ...