Architecture hexagonale

Hexagonal architecture is a model designed to strictly separate business logic, interfaces and infrastructure to create flexible, testable applications.