~/questoes/programacao
No padrão Repository, cada método do Controller (index, show, store) mapeia para um método específico do Repository que encapsula a lógica de acesso aos dados. Essa correspondência padronizada segue as convenções REST e CRUD, garantindo que o Controller delegue todas as operações de banco de dados ao Repository.
A alternativa C está correta porque estabelece o mapeamento padrão: index chama findAll para listar todos os registros, show chama findById para buscar um registro específico, e store chama create para inserir novos dados. Esse padrão segue as convenções REST e mantém a separação de responsabilidades entre Controller e Repository.
Esta alternativa inverte e mistura os métodos. Por exemplo, index deveria listar tudo (findAll), não criar (create). Show deveria buscar por ID (findById), não atualizar (update). Essa confusão viola as convenções REST e a lógica do padrão CRUD.
Embora mencione findById e create de forma correta, inverte o mapeamento de show (que deveria chamar findById, não findAll) e index (que deveria chamar findAll, não findById). A ordem dos mapeamentos é fundamental para o padrão funcionar.
Este é o mapeamento correto e segue as convenções REST. Index = findAll (lista), show = findById (detalhe), store = create (criação). Essa correspondência é o padrão adotado em refatorações profissionais com Repository Pattern.
Esta alternativa simplifica demais a estrutura, afirmando que métodos diferentes usam os mesmos métodos do Repository. Cada operação HTTP precisa de um método específico no Repository para manter clareza, rastreabilidade e segurança nas operações de banco de dados.