Software Engineering Professional

Book Profile

Clean Architecture A Craftsmans Guide to Software Structure and Design (Robert C. Martin Series)

Robert C. Martin · 2017

A distillation of timeless, paradigm-independent rules of software architecture that show how to structure systems so that policy is separated from detail, dependencies point toward high-level business rules, and options are kept open for as long as possible.

Get the book →

Drawing on more than half a century of building systems of every kind, Robert C. Martin argues that the rules of good software architecture are universal and unchanging because the fundamental building blocks of programs (sequence, selection, iteration) have not changed. Clean Architecture teaches you to see architecture as the art of drawing boundaries: separating high-level business policy (Entities and Use Cases) from low-level implementation details (databases, frameworks, the web, the UI) so that details become plugins to policy. Through the SOLID principles, component cohesion and coupling principles, and the Dependency Rule, the book shows how to build systems that are testable, independently deployable, easy to change, and cheap to maintain over long, profitable lifetimes. Rich with war stories from decades of real projects, it makes a compelling case that the only way to go fast is to go well.

What it argues

A causal model expressing how architectural design levers (boundary discipline, dependency direction, policy/detail separation, deferral of detail decisions) shape psychological/behavioral states of the development effort (changeability, testability, developer productivity) and drive outcomes such as lifetime maintenance cost and system longevity, moderated by contextual conditions like team structure and system complexity.

Key ideas it contributes