DEV Community

Nathalia Pavan
Nathalia Pavan

Posted on

1

Arquitetura hexagonal: a sinergia dos princípios de desenvolvimento e boas práticas

Venhamos e convenhamos, desenvolver uma API robusta e escalável nem sempre vai ser um mar de rosas. Em meio a muitas dúvidas, linguagens, frameworks e mais uma infinidade de opções e combinações, a escolha da arquitetura certa pode fazer toda a diferença. Recentemente, enquanto iniciava um projeto pessoal, escolhi um framework unopinionated pra ter mais liberdade e flexibilidade na construção da estrutura e adotei a Arquitetura Hexagonal (eu sempre me agradeço quando começo assim kkkkk).

A Arquitetura Hexagonal, também conhecida como Arquitetura Ports and Adapters, visa separar as preocupações da aplicação em diferentes camadas, facilitando a manutenção, testabilidade e escalabilidade do código. Ela se baseia na ideia de que as regras de negócio devem estar no centro da aplicação, isoladas das dependências externas, como frameworks e bibliotecas.

Durante o desenvolvimento, pude observar que os princípios do SOLID e os padrões de projeto (dentro do meu contexto) simplesmente surgiram de forma natural. Isso ocorre porque a arquitetura promove a separação de responsabilidades e a modularização do código, o que facilita a aplicação desses princípios e padrões.

Particularmente, eu sempre fiquei preocupada pensando se minhas implementações estavam seguindo a sopa de letrinhas 😂 Essa abordagem acaba aliviando a preocupação de estar aplicando ou não esses princípios, pois uma estrutura clara, bem definida e modularizada cria um ambiente propício para esses conceitos. Não é necessário gastar energia pensando se a estrutura está bem definida, pois a própria arquitetura guia o desenvolvimento nessa direção. Acaba virando uma consequência, sabe?

Outro benefício significativo e que estou curtindo muito é a facilitação dos testes unitários. A inversão de dependência promovida por esse tipo de arquietura permite que as dependências externas sejam substituídas por mocks durante os testes, facilitando a criação de casos de teste isolados. Sério, é só alegria kkkk

Em resumo, ao utilizar uma arquitetura bem definida, os conceitos de SOLID e os padrões de projeto se tornam consequências naturais do processo de desenvolvimento. Não precisamos fritar o cérebro pensando explicitamente neles a todo momento, pois eles estão embutidos na própria estrutura da aplicação, são complementares.

Ao iniciar um novo projeto, considere a Arquitetura Hexagonal como uma abordagem para alcançar uma base de código confiável e flexível. Isso vai permitir implementações muito mais intuitivas e fluidas, facilitando a manutenção e aprimoramento do código durante toda sua evolução. Você do futuro ficará muito grato, acredite

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay