Clean Architecture (also known as Hexagonal or Ports-and-Adapters) places the Domain and Application logic at the center, with all external dependencies (UI, databases, APIs) acting as plugins through well-defined interfaces (ports), achieving maximum testability and framework independence [citation:1][citation:9].
Clean Architecture, popularized by Robert C. Martin, takes layering a step further by organizing code into concentric circles. The inner circles represent the Domain (entities) and Application (use cases) layers, which contain the business rules. The outer circles represent Interface Adapters and Frameworks & Drivers (UI, databases, external services). The critical Dependency Rule states that dependencies can only point inward, meaning the outer layers depend on inner layers, but the inner layers are completely unaware of the outer ones. This makes the core business logic framework-agnostic and highly testable [citation:1][citation:9].