O que é: Arquitetura Hexagonal

Arquitetura Hexagonal, também conhecida como Ports and Adapters, é um padrão arquitetural proposto por Alistair Cockburn em 2005 que isola a lógica de negócio (núcleo da aplicação) de qualquer detalhe externo — banco de dados, framework web, filas, UI ou APIs de terceiros. A comunicação entre o núcleo e o mundo externo acontece exclusivamente através de ports (interfaces) implementadas por adapters (adaptadores), permitindo trocar tecnologias sem tocar nas regras de negócio.

TL;DR

  • Padrão criado por Alistair Cockburn (2005) que separa o core da aplicação dos detalhes de infraestrutura via interfaces (ports) e implementações (adapters).
  • Torna o sistema testável, agnóstico a framework/banco e resiliente a mudanças tecnológicas.
  • Ideal para sistemas B2B complexos com múltiplas integrações; evitar em CRUDs simples.

Ports and Adapters

Ports são interfaces que definem contratos: o que o core precisa (driven ports, ex.: ‘PagamentoPort’) e o que o core oferece (driving ports, ex.: ‘CriarPedidoUseCase’). Adapters são as implementações concretas: um StripeAdapter implementa a PagamentoPort, um controller REST implementa o driving port. O core não conhece nenhum adapter — apenas as interfaces. Segundo Martin Fowler (2017), essa inversão de dependência é o coração do padrão e o diferencial em relação a arquiteturas em camadas tradicionais, nas quais a lógica de negócio depende do banco.

Como implementar

  1. Identifique o domínio: entidades, agregados e regras de negócio ficam no core, sem dependência externa.
  2. Defina os ports: uma interface para cada capacidade requerida (persistência, notificação, pagamento) e cada capacidade oferecida (casos de uso).
  3. Crie os adapters primários (REST, CLI, GraphQL) que invocam o core através dos driving ports.
  4. Crie os adapters secundários (Postgres, RabbitMQ, Stripe) que implementam os driven ports.
  5. Configure a injeção de dependência para conectar ports a adapters em tempo de execução.

Vantagens

  • Testabilidade elevada: o core é testado com mocks dos ports, sem subir banco ou servidor.
  • Independência de tecnologia: trocar Postgres por MongoDB ou Spring por Quarkus exige apenas um novo adapter.
  • Alinhamento com DDD: o modelo de domínio permanece puro e expressivo.
  • Longevidade: segundo o ThoughtWorks Technology Radar (2023), a hexagonal continua entre os padrões recomendados para sistemas de longa duração.

Leia o artigo completo: Arquitetura Hexagonal (Ports and Adapters): como implementar e vantagens

Como podemos te ajudar?

Entre em contato conosco hoje mesmo e descubra como nossa empresa de marketing pode impulsionar suas vendas, aumentar sua visibilidade online e alcançar seus objetivos de negócios.

Desenvolvemos projetos conforme as necessidades e objetivos de cada cliente, sempre com processos bem definidos e transparentes do planejamento ao controle, facilitando a comunicação com as partes interessadas e a melhoria contínua das ações de marketing implementadas.

Danilo Pedrosa
Especialista em Projetos de Marketing, Shiftmind