Skip to content
Chiify
Software Structure by Design

Software Structure by Design

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:

  • Read coupling and cohesion as a cost, not an abstraction, and use that reading to prioritise refactoring
  • Apply paradigms as constraints that shape design rather than as academic rules
  • Put design principles to work in real code, including dependency inversion and stable abstractions
  • Draw component boundaries that hold up across releases and team changes
  • Design the domain layer so business rules stay independent of delivery mechanisms
  • Place the database and the web/UI at the edges with clear, testable boundaries
  • Choose between a modular monolith and services based on honest trade-offs, not fashion
  • Test the architecture itself with fitness checks, characterisation tests, and the humble object pattern
  • Refactor toward structure safely using strangler migrations and document decisions so the structure survives

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.

$74.99