Sign in
Log inSign up
Você não está sendo Clean com Clean Architecture

Você não está sendo Clean com Clean Architecture

Clean Architecture, parece mágico né? Troque pedaços das aplicações de forma fácil e sem esforço, mas você realmente precisa disso? Foque no simples!

Davi de Carvalho's photo
Davi de Carvalho
·Feb 2, 2022·

2 min read

Vejo muita gente usando o texto do Uncle Bob sobre Clean Architecture atualmente, e olha, vamos falar a verdade, não estamos sendo tão "clean" assim.

A verdade é que Clean Architecture é um conceito, onde a ideia é separar a responsabilidades de cada coisa em seu devido lugar. Não quer dizer que você deva seguir a figura abaixo e criar pastas com esses nomes:

image.png

O que eu mais vejo são artigos falando sobre clean architecture ou "DDD" e pessoas implementando cada um a sua verdade, mas assim, porque não ficamos no simples? Tenho certeza que seus projetos pessoais não precisam de uma estrutura de pasta muito elaborada - Na verdade, nem projetos de empresas precisam muito.

Não, seu projeto não precisa ter uma camada a mais pra acessar o banco porque "se mudar o banco, a aplicação não sente", muito menos abstrair toda biblioteca que você usa porque "se ela for depreciada, a gente só troca em um lugar".

Se algo está complexo, provavelmente está errado. Nos projetos que participo a estrutura de pastas é um Feature Folder (alguns devem conhecer por Vertical Slice Architecture), separado por responsabilidades, como Controller, Service, Repository. Caso precisemos de uma fila, criamos uma pasta "Listeners" que chama o service, veja que se pegarmos a mesma foto do "clean architecture", é exatamente isso que tá sendo feito, os Listeners e os Controllers chamam os Services, que seriam os "use cases".

E sabe o que essa estrutura de pasta lembra? Exatamente! O MVC que todo mundo começa aprendendo!

Parem de reinventar a roda e fazer as coisas serem mais difíceis do que precisam ser, isso é ruim para quem já está na área, que precisa lidar com coisas mais complexas, e principalmente para quem quer entrar, que apenas cria mais uma barreira de aprendizado.