Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Dúvida sobre a Request Handler Interface

Olá Vinicius. Fiquei com uma dúvida relacionada ao uso dessa interface em um projeto mais real, por que digamos que o nosso controller tivesse outros métodos como eu usuaria essa interface?

Como em nosso projeto cada controller tem um único método que é exatamente o handle fica trivial, mas se eu tivesse outros métodos? Por exemplo um controller chamado User e eu tivesse os métodos de criar e editar nele, eu precisaria implementar o método handle dessa interface para ficar padronizado? Ou esse handle é somente uma abstracao de qualquer método que eu possa implementar? Como isso se encaixaria? Não sei se consegui expor minha dúvida com clareza.

5 respostas
solução!

Fala, Diego.

A recomendação é: Um controller deve ser responsável apenas por um tipo de requisição. Você deveria ter um controller CreateUsere outro UpdateUser por exemplo. Este é o ideal para aderir ao SRP.

:-)

Muito obrigado Vinicius.

Agora ficou mais claro do por que ter essa interface. Eu estava muito com o pensamento em ter vários métodos em um único controller e estava pensando como implementa-la dessa forma, acho que tinha sido assim que aprendi um tempo atrás, agora já sei que não era a melhor forma e realmente faz sentido pensando em responsabilidade única. Valeu.

Eu também aprendi dessa forma há alguns anos. Não é 100% errado mas acaba gerando classes maiores e às vezes com dependências desnecessárias.

Já que você tá ligado em arquitetura, dá uma lida sobre ADR também: http://pmjones.io/adr/

Muito bacana Vinicius.

Darei uma olhada com calma no ADR, bem interessante. Valeu!

É exatamente isso aí.

E se você já estiver bem seguro com estes padrões arquiteturais dá uma lida no livro Clean Architecture ou pesquisa sobre Arquitetura Hexagonal. É bem maneiro. Eu mesmo to estudando mais sobre esses agora.