Arquitetura Hexagonal ou arquitetura de portas e adaptadores, tem como objetivo tornar todos os componentes do software fracamente acoplados, tornando de fácil substituição e facilitando na automação de teste.
Com essa abordagem, podemos trocar facilmente as diferentes camadas do aplicativo.
A ideia da Arquitetura Hexagonal é colocar entradas e saídas nas bordas de nosso design. A lógica de negócios não deve depender de expormos uma API REST e não deve depender de onde obtemos os dados.
Vídeo explicando essa arquitetura: https://youtu.be/1PMCPgRIqNE