Por que a controller ficou no pacote de infra? Não consegui entender.
Por que a controller ficou no pacote de infra? Não consegui entender.
Olá! Tudo bem?
Na Clean Architecture, a ideia é organizar o código em camadas, onde cada camada tem uma responsabilidade específica e conhece apenas as camadas mais internas. A camada de infraestrutura (infra) é responsável por lidar com detalhes externos, como frameworks, bancos de dados, interfaces de usuário, etc.
O controller, nesse contexto, é considerado parte da infraestrutura porque ele é responsável por receber requisições HTTP e transformá-las em chamadas para os casos de uso da aplicação. Ele atua como um adaptador entre o mundo externo (as requisições HTTP) e o núcleo da aplicação (os casos de uso).
Colocar o controller na camada de infra ajuda a manter a separação de responsabilidades e garante que as regras de negócio (que ficam nas camadas mais internas, como domínio e aplicação) não dependam de detalhes de implementação específicos de frameworks ou tecnologias externas.
Por exemplo, se você decidir mudar o framework web que está usando, a ideia é que você só precise alterar a camada de infra, sem impactar as regras de negócio da sua aplicação.
Espero ter ajudado e bons estudos!