Esclarecer mais sobre o padrão Repository

Bom dia Carlos.
Revi mais de uma vaz a video aula que vc explicou os motivos de usar ou não o Repository. Porém, não entendi bem sobre a questão do Eloquent ser uma abstração do Active Record e por isso, segundo seu ponto de vista, não haveria a necessidade de utilizar Repository em um projeto Laravel.
Se você puder me explicar com mais detalhes sobre isso, eu te agradeço.
Olá, Willian!
Tudo bem?
Claro, será um prazer esclarecer.
--
Vamos lá amigo, no Eloquent ORM (que trabalha com o padrão Active Record), o próprio model já o repositório, ou seja, se eu fizer isso:
$model = new NomeModel;
$model->nome_coluna = 123;
$model->save();
Dessa forma, estamos persistindo o próprio objeto do model.
Muitas vezes vejo devs criando repositórios sem entender as motivações por trás, apenas por conta do modismo em cima do assunto.
Porque se criar uma camada a mais (pastinha) para apenas chamar de repositório não faz sentido, já que o model em sí já é um.
Ahh Carlos, mas vc usa?
Sim, em alguns casos sim. Porque usando um repositório (apenas como camada extra) consigo jogar querys mais complexas para dentro dele, e assim deixo as coisas mais organizadas (models mais simples).
--
Para você entender a real mesmo, recomendo estudar o Doctrine ORM, porque ele usa o pattern Data Mapper, aí sim faz sentido (e necessário) o uso de repositórios.

Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!