Por Maria Alves | 2026-04-01 07:54:05 | 7 comentários
Arquitetura Hexagonal: Quando Vale a Pena Utilizar
A Arquitetura Hexagonal — também conhecida como Ports and Adapters — propõe separar o domínio da aplicação de tudo o que é infraestrutura: base de dados, APIs externas, interfaces de utilizador. O domínio fica no centro; tudo o resto é um adaptador.
A Ideia Central: Inversão de Dependências
Em vez de o domínio depender do Laravel, do Eloquent ou do Redis, estes dependem do domínio através de interfaces (Ports). O domínio define o que precisa; os adaptadores definem como é implementado. Esta inversão é o coração do padrão.
Estrutura de Pastas em Laravel
app/
├── Domain/
│ ├── Order/
│ │ ├── Order.php // Entidade
│ │ ├── OrderRepository.php // Port (Interface)
│ │ └── OrderService.php // Lógica de domínio
├── Infrastructure/
│ ├── Persistence/
│ │ └── EloquentOrderRepository.php // Adapter
│ └── External/
│ └── StripePaymentAdapter.php // Adapter
└── Application/
└── Order/
└── CreateOrderUseCase.php
Vantagens Reais
Testar o domínio sem base de dados real usando mocks de repositórios, trocar implementações de infraestrutura sem tocar no domínio, e documentação implícita da arquitectura através da estrutura de pastas são os benefícios mais concretos.
Os Custos a Considerar
Mais ficheiros, mais abstracções e uma curva de aprendizagem para novos membros da equipa. Para projectos simples ou com equipas pequenas, este overhead pode superar os benefícios.
Quando Vale a Pena
Projectos com lógica de negócio complexa que precisa de ser testada isoladamente, sistemas que precisam de suportar múltiplos adaptadores de infraestrutura (ex: múltiplos providers de pagamento), ou equipas com mais de 4-5 programadores onde a clareza arquitectural reduz conflitos.
Conclusão
Arquitetura Hexagonal é uma ferramenta poderosa para complexidade real. Não é a arquitectura padrão para todos os projectos — é a resposta correcta a problemas específicos. Avalie o contexto antes de adoptar.