Onion Architecture
Noun · Development
Definitions
A software architecture style proposed by Jeffrey Palermo in which dependencies point inward through concentric layers — domain model at the core, surrounded by domain services, application services, and infrastructure at the outermost ring — ensuring the business logic has zero dependencies on frameworks, databases, or UI.
In plain English: Organizing code in layers like an onion where the core business rules in the center never depend on outer technical details like databases or web frameworks.
Example: "With onion architecture, swapping from Postgres to DynamoDB only touched the outer infrastructure layer — the domain model didn't change at all."