Home | Escopo | Processo | Design/Mockups | Configuração | Arquitetura | Gerência | Código | BD | Qualidade | Frontend | Backend | Analytics |
---|
Arquitetura Hexagonal (Ports and Adapters)
A arquitetura hexagonal, também conhecida como "Ports and Adapters" ou "Clean Architecture", é um padrão de projeto arquitetônico que visa promover a modularidade, a separação de preocupações e a independência de frameworks externos em um sistema de software. Assim como o MVC, a arquitetura hexagonal oferece uma estrutura organizada para desenvolver aplicativos de forma eficiente e manutenível.
Componentes da Arquitetura Hexagonal
Domínio
Na arquitetura hexagonal, o domínio é o cerne do sistema. Ele engloba as regras de negócios, entidades e objetos de valor que definem a lógica central do aplicativo. O domínio é independente de qualquer estrutura externa e não conhece detalhes de implementação fora de suas fronteiras.
Aplicação
A camada de aplicação é responsável por orquestrar os casos de uso do sistema. Ela atua como intermediária entre as portas de entrada/saída e o domínio. A camada de aplicação cuida da coordenação dos fluxos de trabalho, das transações e de outras operações que não fazem parte do núcleo da lógica de negócios.
Adaptadores
Os adaptadores são a ponte entre o domínio e as tecnologias externas. Eles permitem que o domínio interaja com o mundo exterior sem conhecer os detalhes técnicos específicos
Benefícios da Arquitetura Hexagonal
Separação de Preocupações:
A arquitetura hexagonal promove a separação clara entre o núcleo da lógica de negócios e as partes externas, facilitando a manutenção e evolução do sistema.
Testabilidade:
A separação de camadas facilita a realização de testes unitários e de integração, tornando o sistema mais robusto e confiável.
Independência Tecnológica:
Mudanças em tecnologias externas têm menos impacto no núcleo do sistema, permitindo a adoção de novas ferramentas sem grandes reestruturações.
Flexibilidade:
A estrutura da arquitetura hexagonal permite que você adapte o sistema às mudanças de requisitos de forma mais ágil.