Etapa 1 de 9 · Arquitetura
O que é arquitetura hexagonal?
O que vamos fazer
Entender o problema que a arquitetura resolve e dar nome às partes do hexágono.
Por que fazemos assim
Regras de negócio costumam viver mais tempo que um banco, um framework ou uma interface. A arquitetura hexagonal organiza o código para que esses detalhes possam mudar sem obrigar a reescrever as regras.
Onde isso se encaixa na arquitetura
No centro ficam o domínio e os casos de uso. As portas descrevem as operações que o núcleo oferece e as dependências que precisa. Os adaptadores traduzem protocolos externos, como HTTP ou SQL, para essas portas. O hexágono representa várias entradas e saídas possíveis; ele não determina uma quantidade de lados nem uma estrutura física.
- Requisição HTTP
- adaptador de entrada
- porta de entrada
- caso de uso
- domínio
- porta de saída
- adaptador de memória
Entenda os detalhes de Go usados aqui
A seta de dependência do código aponta para dentro: regras centrais conhecem seus contratos, enquanto os adaptadores conhecem os contratos que implementam. Em tempo de execução, a chamada pode atravessar uma porta para chegar a um adaptador. Go permite essa separação com interfaces pequenas e implementação implícita.