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 ...

Get SonarQube in Action now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.