|
| [Home](home) | [**Escopo**](escopo) | [Processo](processo) | [Design/Mockups](design_mockups) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Gerência](gerencia) | [Código](codigo) | [BD](Banco de Dados) | [Qualidade](qualidade) | [Frontend](frontend) | [Backend](backend) | [Analytics](analytics)
|
|
| [Home](home) | [**Escopo**](escopo) | [Processo](processo) | [Design/Mockups](design_mockups) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Gerência](gerencia) | [Código](codigo) | [BD](Banco de Dados) | [Qualidade](qualidade) | [Frontend](frontend) | [Backend](backend) | [Analytics](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.
|
|
|
|
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
![arquitetura_Hexagonal](uploads/3c139492043aa351b7529a6647aa75b6/arquitetura_Hexagonal.png)
|
|
|
|
|