Arquitetura Hexagonal em Java: Como Blindar sua Aplicação das Mudanças Externas

O conceito de Arquitetura Hexagonal foi proposto por Alistair Cockburn , ainda nos anos 90, em um artigo publicado na primeira wiki da internet, a WikiWikiWeb famosa por reunir conteúdos sobre Engenharia de Software. Os objetivos dessa arquitetura se alinham bastante com os princípios da Arquitetura Limpa : promover reutilização de código, alta coesão, baixo acoplamento, independência tecnológica e testabilidade . Em resumo, é uma forma de construir sistemas preparados para mudanças e longevidade. Dois Mundos Bem Separados A Arquitetura Hexagonal propõe que as classes do sistema sejam divididas em dois grandes grupos: Classes de Domínio : onde vive a lógica de negócio pura. Classes de Infraestrutura : que lidam com tecnologias específicas, como bancos de dados, frameworks, APIs externas e interfaces de usuário. A regra de ouro é simples: as classes de domínio nunca devem depender das classes de infraestrutura . Essa separação garante que a lógica central do sist...