Clean Architecture

E173638

Clean Architecture is a software design philosophy and set of principles, popularized by Robert C. Martin, that emphasizes separation of concerns, testability, and independence from frameworks, databases, and user interfaces.

All labels observed (4)

How this entity was disambiguated

Statements (55)

Predicate Object
instanceOf architectural pattern
software architecture style
software design philosophy
alsoKnownAs Clean Architecture
surface form: Clean Architecture by Uncle Bob
category software architecture
software design patterns and principles
software engineering
coreConcept dependency rule
entities as enterprise business rules
frameworks and drivers
interface adapters
layers of software
use cases as application core
creator Robert C. Martin
dependencyDirection source code dependencies point inwards
describedIn Clean Architecture self-linksurface differs
surface form: Clean Architecture: A Craftsman’s Guide to Software Structure and Design

blog posts by Robert C. Martin
emphasizes independence from databases
independence from external agencies
independence from frameworks
independence from user interfaces
separation of concerns
testability
goal ease of change
flexibility
independence from infrastructure
long-term sustainability of software
maintainability
testability
hasLayer entities layer
frameworks and drivers layer
interface adapters layer
use cases layer
influencedBy Clean Code principles
Hexagonal Architecture
Onion Architecture
SOLID principles
Screaming Architecture
promotes UI-agnostic design
boundary separation
database-agnostic design
dependency inversion principle
framework-agnostic design
inversion of control
test-first or testable design
use-case driven design
recommends business rules independent of UI
business rules independent of database
business rules independent of external services
defining boundaries via interfaces
isolating side effects at the outer layers
usedFor enterprise applications
microservices
mobile applications
web applications

How these facts were elicited

Referenced by (10)

Full triples — surface form annotated when it differs from this entity's canonical label.

Robert C. Martin isKnownFor Clean Architecture
Robert C. Martin hasNotableWork Clean Architecture
this entity surface form: Clean Architecture: A Craftsman’s Guide to Software Structure and Design
Uncle Bob knownFor Clean Architecture
subject surface form: Robert C. Martin
this entity surface form: Clean Architecture book
Uncle Bob hasNotableWork Clean Architecture
subject surface form: Robert C. Martin
this entity surface form: Clean Architecture: A Craftsman’s Guide to Software Structure and Design
Robert C. Martin series notableWork Clean Architecture
this entity surface form: Clean Architecture: A Craftsman’s Guide to Software Structure and Design
Robert C. Martin series hasVolume Clean Architecture
this entity surface form: Clean Architecture: A Craftsman’s Guide to Software Structure and Design
The Clean Coder relatedWork Clean Architecture
Clean Architecture alsoKnownAs Clean Architecture
this entity surface form: Clean Architecture by Uncle Bob
Clean Architecture describedIn Clean Architecture self-linksurface differs
this entity surface form: Clean Architecture: A Craftsman’s Guide to Software Structure and Design