Também conhecida como "Ports and Adapters", a arquitetura hexagonal é um padrão para desenvolvimento de softwares.
A idéia da arquitetura hexagonal é podermos isolar toda a nossa regra de negócio, a camada de dominio e lógica do mundo externo através de portas e adaptadores.
Onde ficam as regras de negócio e não dever ter acesso direto ao mundo exterior
Classes de modelo
Regras de negócio
Entradas e saidas
Portas de entrada para o core
Portas de saida do core
Entrada para a aplicação
Controlladores
Consumidores
Saída da aplicação (base de dados, Microserviços)
Client para acessar outros Microserviços
Acesso ao banco de dados
Configurações da aplicação