Modularizing by change patterns
An approach that I've found helpful to verify module boundaries is analyzing patterns of new feature additions to your application. If most of the typical changes you make to your code base involves having to modify multiple modules, that might be a clue that your modules are too fragmented or the separation of modules could be better. It's OK if you are modifying multiple low-level modules (that is, with horizontal concerns) for an average code change or enhancement. But if each change or enhancement to your application requires you to modify too many modules with vertical concerns, you might want to re-look at the module boundaries and see if those different modules contain code that should ideally be together ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access