1
resposta

Motivação do refactory

Olá,

Eu fiquei um pouco encanado com o motivo pelo qual foi feito esse refactor no código. Ainda que o código do buscarTodos() estivesse plenamente legível, ele estava com uma responsabilidade extra que era a de filtrar o querystring e extrair o que era informação de ordenação e o que era de filtro.

Então nesse caso, não seria melhor criar um método protected ou private na própria BaseController que fizesse isso? Com esse helper novo, é mais uma dependência para resolver na hora de estender a classe BaseController. Ficou uma sensação de "over engeneering". Estou errado? Ou há um motivo para essa abordagem?

Excelente curso até agora, estou gostando muito.

Abraços,Luis

1 resposta

Oi Luis,

Provavelmente o Vinicius te dê uma reposta melhor mas vou dar a visão de outra pessoa que fez esse curso há um tempo atrás.

Observe como a BaseController está bonitinha fazendo a orquestração de maneia genérica das nossas requisições. Ao por lógica adicional de como ela deve extrair dados de uma query string estariamos ferindo o principio da responsabilidade única, pondo assim lógica que foge do escopo da BaseController. Inclusive, com algumas modificações, essa classe que extrai dados de uma query string pode se tornar um componente reutilizável para outros projetos, caso fosse um método do BaseController isso não seria possível.