Domain-Driven Design with bounded contexts, aggregates, domain events, and clean/hexagonal architecture.