parallax
Danilo Righetto

Tech Lead & Software Engineer na @tradeupgroup

Entendendo a Arquitetura Hexagonal
Arquitetura

🎯 Entendendo a Arquitetura Hexagonal (Ports & Adapters)

Você já ouviu falar da Arquitetura Hexagonal (também conhecida como Ports and Adapters)? Esse padrão foi proposto por Alistair Cockburn para tornar as aplicações mais flexíveis, desacopladas e fáceis de testar.

🔷 O que é a Arquitetura Hexagonal?

A ideia central é separar o núcleo da aplicação (lógica de negócio) das interações com o mundo externo (como bancos de dados, APIs, interfaces gráficas, etc.). O nome “hexagonal” vem de uma representação visual com seis lados, mas o número é simbólico — o importante é a ideia de “conectar coisas externas por meio de portas (ports) e adaptadores (adapters)”.

🔌 Componentes principais:

Core (Domínio): Onde mora a lógica de negócio pura, sem dependências externas.

Ports (Portas): Interfaces que definem como o core se comunica com o mundo externo.

Adapters (Adaptadores): Implementações concretas das portas. Por exemplo, um repositório que acessa o banco de dados ou um controller HTTP.

🔄 Como funciona na prática?

O core define o que precisa ser feito, mas não como.

Os adaptadores implementam essas ações de forma concreta (acessar banco, responder requisições, etc.).

Isso permite que você troque adaptadores sem impactar o domínio (ex: trocar um banco SQL por NoSQL sem mudar a regra de negócio).

✅ Vantagens:

Testes unitários mais simples (mock de portas)

Facilidade de troca de tecnologias

Menor acoplamento entre as camadas

Melhor organização do código

🛠️ Exemplo prático (simplificado):

Port: UserRepository (interface)

Adapter: UserRepositorySQL (implementação com PostgreSQL)

Core: UserService usa o UserRepository, mas não sabe como ele é implementado

🔁 A arquitetura hexagonal é perfeita para quem quer projetos escaláveis, testáveis e com baixo acoplamento.

Gostou? Compartilhe esse conteúdo!