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

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs