Clean Architecture

A layered architecture where dependencies point inward toward the domain, popularized by Robert C. Martin.

What is Clean Architecture?

Clean Architecture is a generalization of hexagonal and onion architectures. Its core rule is the Dependency Rule: source code dependencies can only point inward. The domain knows nothing about frameworks or databases; frameworks and databases know how to adapt to the domain.

Related terms

  • Hexagonal Architecture — A layered architecture style that isolates domain logic from infrastructure via ports and adapters.
  • Domain-Driven Design (DDD) — An approach to software design that centers the model and language of the business domain.