O que é Clean Architecture? - Full Cycle FullCycle

Voltar

Wesley Willians

O que é Clean Architecture?

8 min de leitura

Entre as inovações que ocorreram durante os processos de arquitetura e desenvolvimento dos softwares, havia a necessidade de fazer com que as suas funções pudessem evoluir durante o tempo. Assim foram criados métodos práticos que nos ajudaram a modularizar e desacoplar os componentes dos nossos softwares para facilitar esse processo.

Destacamos a visão do Uncle Bob (Robert Martin) sobre como a Clean Architecture sintetiza padrões relevantes que vieram da Arquitetura Hexagonal e da Onion Architecture.

Arquitetura Hexagonal

Partindo da Arquitetura Hexagonal, nós reconhecemos que elementos do mundo externo podem ser plugados ao software, que por sua vez também consegue preservar essa relação internamente.

Onion Architecture

Nas camadas da Clean Architecture conseguimos ter um direcionamento específico sobre como devemos transmitir as requisições entre as aplicações.

Clean Architecture

E, por fim, a Clean Architecture esclareceu as responsabilidades de cada área da nossa aplicação, impondo limites arquiteturais através de regras imutáveis, exceto quando há alguma relação com o negócio. Geralmente essas regras são sólidas e geram uma estabilidade maior no coração da aplicação. Esse padrão foi chamado de Enterprise Business Rules ou Entidades, onde ficam as regras de negócio.

Através desses detalhes você pode concluir que o conceito da Clean Architecture é uma forma de desenhar o software com limites arquiteturais bem claros, para torná-lo durável e também para facilitar a troca de componentes no coração da aplicação.

  • Use Case

Entre as camadas externas também existe o Use Case, ou caso de uso, que é a forma pela qual o software é utilizado por uma pessoa ou client. Nesse caso nós podemos adicionar um sistema de usuário e senha cuja validação é feita através de um e-mail de confirmação para garantir mais segurança no acesso.

Essa classificação também indica a maneira que o software orquestra todas as regras de negócio que nós adicionamos.

  • Adaptadores

Entre as camadas mais externas também existem diversos adaptadores que ajudam outras camadas de apresentação a exibirem resultados. Podemos contar com gateways que nos conectam a bancos de dados que garantem a comunicação com o mundo externo, além de outros recursos que nos ajudam a transportar informações entre as camadas, os chamados DTOs (Data Transfer Objects).

Muito do que foi explicado até aqui tem relação e semelhança com Onion Architecture e Arquitetura Hexagonal. Podemos até concluir que a Clean Architecture, na visão do Uncle Bob, é uma evolução desses padrões arquiteturais.

No nosso canal do youtube tem muito conteúdo de Clean Architecture caso você queira se aprofundar mais! Você pode conferir clicando aqui.

Confira também: Clean Architecture vs DDD e outras perguntas.