Arquitetura Hexagonal × Clean Architecture
Dois padrões que costumam ser trocados um pelo outro, e o que de fato os separa.
Em uma frase
Os dois isolam o domínio das ferramentas pela mesma regra: a dependência aponta para dentro. Hexagonal fala em portas e adaptadores e não conta anéis; Clean Architecture desenha camadas concêntricas e nomeia cada uma. Na essência são o mesmo princípio — a diferença é de vocabulário e de quanto a estrutura é prescritiva.
Critério a critério
Qual é a metáfora central?
- Arquitetura Hexagonal
- Portas (interfaces do domínio) e adaptadores (implementações nas bordas), sem contar camadas.
- Clean Architecture
- Anéis concêntricos: entidades, casos de uso, adaptadores e frameworks, de dentro para fora.
Quão prescritiva é a estrutura?
- Arquitetura Hexagonal
- Enxuta: define a fronteira porta/adaptador e deixa o resto por sua conta.
- Clean Architecture
- Mais detalhada: nomeia as camadas e o papel de cada uma, com regras entre elas.
Onde ficam os casos de uso?
- Arquitetura Hexagonal
- Não são um conceito nomeado; ficam no domínio, dentro do hexágono.
- Clean Architecture
- São um anel próprio, entre as entidades e os adaptadores, com nome e lugar.
Qual veio antes?
- Arquitetura Hexagonal
- 2005, Alistair Cockburn, como Ports & Adapters.
- Clean Architecture
- 2012, Robert C. Martin, sintetizando Hexagonal e Onion na mesma regra.
Quando escolher cada um
Arquitetura Hexagonal
Você quer o princípio no essencial — isolar o domínio atrás de portas — sem prescrição de quantas camadas ter.
Ver o conceito completoClean Architecture
Você quer um mapa mais detalhado, com camadas nomeadas e o papel de cada uma explícito para o time seguir.
Ver o conceito completoPor que confundem
Tratá-los como arquiteturas rivais e discutir qual é 'melhor'. Não são concorrentes: Clean Architecture é, por assunção do próprio autor, uma síntese que inclui a Hexagonal — as duas obedecem à mesma regra de dependência apontando para dentro. Escolher entre elas é escolher vocabulário e nível de prescrição, não filosofia; misturar os termos no mesmo projeto é comum e inofensivo, desde que a regra seja respeitada.