Software Structure by Design

A Practical Handbook of Clean Architecture, Modular Design, Refactoring, and Maintainable SoftwareBy Rohan Dasgupta
Listen with Sir Michael Caine™ and 1,000+ voices
Length14h 43m

About this audiobook

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.

Audiobook details

Rating★★★★★ 4.8 (10)
Includes Amazon
GenreTechnology
Length14 hrs 43 mins
Narrated byListen with 1,000+ voices
FormateBook with Audio
Publish dateSep 27, 2026
LanguageEnglish

Table of contents

1Software Structure by Design
2Foreword
3Preface
4About This Book
5Chapter 1: What Structure Buys You
Mostrar todos os capítulos
61.1 The Cost of Change
71.2 Coupling as a Cost Multiplier
81.3 Cohesion and the Shape of a Module
91.4 Reading a Codebase for Structure
101.5 Architecture Shows Up in Delivery Speed
111.6 What This Book Will and Will Not Claim
12Chapter 2: Paradigms as Constraints
132.1 Structured Programming as Control-Flow Discipline
142.2 Object Orientation as Dependency Direction
152.3 Functional Programming as State Restriction
162.4 Choosing Constraints Deliberately
17Chapter 3: Design Principles in Practice
183.1 Single Responsibility as Reason to Change
193.2 Open-Closed and the Shape of Extension Points
203.3 Substitution and Honest Contracts
213.4 Interface Segregation and Client-Side Shape
223.5 Dependency Inversion and Who Owns the Interface
233.6 When Principles Conflict
24Chapter 4: Component Boundaries
254.1 What a Component Is
264.2 Cohesion Principles for Components
274.3 Coupling Principles for Components
284.4 Breaking Cycles
294.5 Release Units and Versioning Discipline
30Chapter 5: Dependency Direction and Inversion
315.1 Plugin Architecture and the Direction of Control
325.2 Ports and Adapters
335.3 Keeping Frameworks at the Edge
345.4 Boundary Crossing Costs
35Chapter 6: The Domain Layer
366.1 Entities and Identity
376.2 Value Objects
386.3 Use Cases as Application Operations
396.4 Invariants and Where They Live
406.5 Keeping the Domain Free of Frameworks
41Chapter 7: Boundaries for the Database
427.1 Repositories as Domain-Facing Ports
437.2 Mapping Between Domain and Schema
447.3 The Schema as a Replaceable Detail
457.4 Transactions and Consistency Boundaries
467.5 Migrating the Schema Safely
47Chapter 8: Boundaries for the Web and UI
488.1 Controllers as Thin Translators
498.2 Request and Response Models
508.3 Presenters and View Models
When the Heavens Went on SaleAshlee Vance18h 20m4.4 (3K)$40 · $0.00
Everybody Has a Podcast (Except You)Justin McElroy, Travis McElroy, Griffin McElroy5h 9m4.3 (2.3K)$24 · $0.00
Hands of TimeRebecca Struthers8h 8m4.4 (1.3K)$26 · $0.00
Never Lost AgainBill Kilday10h 1m4.4 (805)$29 · $0.00
How the Internet HappenedBrian McCullough13h 28m4.3 (2.7K)$23 · $0.00
Collected Writings of Nikola TeslaNikola Tesla, Thomas Commerford Martin21h 50m4.3 (1.7K)$1 · $0.00
Just AspireAjai Chowdhry9h 13m4.4 (260)$29 · $0.00
The Little Book of AliensAdam Frank8h 20m4.3 (1.3K)$26 · $0.00
The inventions, researches and writings of Nikola Tesla (Annotated)Thomas Commerford Martin16h 59m4.3 (1.3K)$2 · $0.00
KargilV.P. Malik15h 18m4.3 (2K)$24 · $0.00
Experiments with Alternating CurrentsNikola Tesla9h 16m4.3 (874)$1.99 · $0.00
Fire on the HorizonTom Shroder, John Konrad8h 23m4.3 (858)$26 · $0.00
The Smell of Kerosene (Annotated)National Aeronautics and Space Administration, Donald L. Mallick, Peter W. Merlin11h 32m4.3 (523)$2 · $0.00
The Boy Who Harnessed the WindWilliam Kamkwamba, Bryan Mealer10h 5m4.2 (78.9K)$29 · $0.00
Across the Airless WildsEarl Swift10h 8m4.3 (1.3K)$29 · $0.00
Console WarsBlake J. Harris20h 41m4.2 (13.7K)$46 · $0.00
Improvised Munitions HandbookU.S. Department of Defense4h 49m4.3 (1.6K)$1.99 · $0.00
Escaping GravityLori Garver10h 54m4.2 (2.2K)$20 · $0.00
Wireless WarsJonathan Pelson8h 2m4.3 (418)$20 · $0.00
Let There Be WaterSeth M. Siegel8h 36m4.2 (2.3K)$20 · $0.00

You may also like

Reengineering the CorporationMichael Hammer, James Champy1h 29m3.8 (7.3K)$16 · $0.00
ITIL® 4 Create, Deliver and Support (CDS)Claire Agutter3h 36m4.6 (23)$40 · $0.00
HorizonsJames Poskett15h 18m3.7 (472)$33 · $0.00
Invisible IncomeSara Melo1h 34m$1.80 · $0.00
Build a 2.5D RPG with Godot 4 and C#Gregory Whitlock7h 8m$5 · $0.00
Bio-Inspired AI in C++Zoe Becker7h 10m$5 · $0.00
A High-Performance Adaptive Filter Instantiated from the GAADT Algorithm for Electrocardiogram Signal ProcessingAndrilene Ferreira Maciel2h 55m$13 · $0.00
Monetize your content with NFTsUnknown Author1h 5m$17 · $0.00
AP Computer Science Principles Exam Study GuideMarie Peterson8h 32m$10
Process Events as They HappenLena Castellano8h 5m$5 · $0.00
Decoding DCFPenelope B. Wellington7h 36m$6.30 · $0.00
Final Cut Pro 12 User HanbookPaula J. Melancon6h 46m$17.50
The Definitive Guide To The World's Leading Artificial IntelligenceKael Novera6h 51m$8 · $0.00
AI Without The AnxietyJasper Livingstone4h 55m$12.50 · $0.00
Introduction manual to S&OPCristina Peña1h 34m4.4 (15)$23 · $0.00
Everyone’s Talking About AI, and I Don’t Know Where to Start - How to Use AI for Everyday Tasks, Check Its Answers, and Keep Thinking for YourselfMax Paradox4h 12m4.9 (18)$7.70 · $0.00
CRCR Exam Study GuideMarie Peterson9h 34m$10
Making AI SimpleJasper Living stone4h 33m$10
How To Code For Quantum ComputersNivio Dos Santos2h 19m$46 · $0.00
Story Behind HyperfaceRekha Balakrishnan9m$4