Architecture where the domain sits at the center, and all infrastructure (databases, REST, messaging, UI, ORMs) lives on the outside behind adapters. Heimeshoff dislikes the 'hexagon' mental image — the point is ports and adapters. A command arrives, a unit of work on the boundary loads needed aggregates through repositories, calls pure domain methods, and persists results. Lets infrastructure change without touching domain code. Especially important in the core domain; less important in generic sub-domains.