Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desing Pattern

Boa tarde, em alguns lugares que eu estagiei vi o seguinte padrão de projeto:

Model -> Repository(interface)-> Service(interface) -> ServiceImplements(Classe)

Onde o estende de JPARepository, a interface Service tem o métodos do CRUD e o serviceImplements implementa a interface Service para criar as regras de negocio do CRUD. Gostaria de entender o motivo deste padrão, pois todas as vídeo aulas e cursos que já fiz não o utilizam.

1 resposta
solução!

Um Repositório é um padrão de acesso a dados no qual os objetos de transferência de dados são passados para um objeto de repositório que gerencia as operações CRUD. Esse padrão é útil em situações em que o mecanismo de acesso a dados pode mudar significativamente - por exemplo, você espera ter armazenamentos de dados variados, como o Oracle em uma implementação e o SQL Server, ou mesmo o HADOOP em outra.

Uma Camada de Serviço é um padrão lógico de negócios que é comumente usado em arquiteturas SaaS. O uso de uma camada de serviço permite que uma ou mais implementações de apresentação acessem sua lógica de negócios por meio de uma interface comum. Por exemplo, se você quisesse que seu site tivesse uma API, usaria uma camada de serviço para implementar a funcionalidade de back-end comum que tanto o site quanto a API consumiriam.

O primeiro deve se preocupar principalmente com o acesso a dados e o segundo com a lógica de negócios.

Basicamente é para isolar em camadas diferentes as responsabilidades da aplicação :)