A arquitetura hexagonal (também chamada de Ports and Adapters) é um estilo que busca separar o núcleo da aplicação (a lógica de negócio) das dependências externas, como bancos de dados, APIs ou interfaces de usuário. Essa separação é feita por meio de portas (interfaces) e adaptadores (implementações), permitindo que o domínio permaneça independente e facilmente testável, além de facilitar substituições de tecnologias externas sem impactar o coração da aplicação.
Hexagonal Architecture
├── Domain (Core)
│ ├── Entities
│ ├── Use Cases
│ └── Services
├── Ports (Interfaces)
│ ├── RepositoryPort
│ ├── ServicePort
│ └── EventPort
├── Adapters (Implementações)
│ ├── DatabaseAdapter
│ ├── RESTAdapter
│ └── MessagingAdapter
