
A Practical Handbook of Clean Architecture, Modular Design, Refactoring, and Maintainable Software
by Rohan Dasgupta
You already know your codebase is hard to change. This book tells you which decisions made it that way and what to do next.
Software structure is not a matter of taste. It is a set of decisions about coupling, cohesion, and dependency direction that determine how much every future change will cost. Software Structure by Design is a practical handbook for developers, tech leads, and anyone inheriting a codebase they did not design. It shows you how to read the structure you have, understand why it resists change, and reshape it without stopping delivery.
The book moves from principles to boundaries to the hard work of making structure stick. You will learn to treat coupling and cohesion as a cost you can measure, invert dependencies so frameworks and databases sit at the edges instead of the centre, and draw component boundaries that survive a release. Separate chapters handle the database boundary, the web boundary, and the honest trade between a modular monolith and services. Then you make the structure durable with fitness checks, the humble object pattern, characterisation tests, strangler migrations, and decision records. A complete worked application runs through every boundary at the end, tying the techniques together.
What you will learn:
Written for developers, tech leads, and architects who need to improve an existing system rather than start from a blank page, this book assumes you can write code and want to make the code you have easier to change. If you are responsible for a codebase that has grown beyond its original design, this handbook gives you a clear path from diagnosis to durable structure.