1
resposta

Service

Eu já tinha feito o curso de AngularJS, mas nunca ficou claro pra mim a função do service. No questionário fala de regra de negócio, outra coisa que eu ouço falar sempre, mas não sei muito bem.

1 resposta

Oi Gisele.

A função de um Service é isolar a regra de negócio da sua aplicação, mas para entender isso vc tem q entender os outros padrões: Controller, Service e Repository.

Controller: Essa é camada que faz a conexão entra a tela e o código. Ele tem q receber e responder dados para a tela. Apenas isso. Ele não tem que ter regra de negócio aqui. Toda a regra de negócio tem que ir para o Service.

Service: É a camada da sua app que é a mais inteligente. Ele recebe dados da controller e faz a regra de negócio. Vamos supor que a tela pediu o saldo da conta corrente. O Controller recebe qual é o usuário que quer a conta, daí ele manda essa informação pro Service, o Service vai fazer a regra de negócio: Esse usuário pode fazer esse tipo de operação? Se o saldo for positivo, tem q enviar o usuário par a tela X, mas se o saldo for negativo temos que enviar uma mensagem de alerta. Temos regra de negócio aqui.

Repository: É a camada que acessa o banco de dados. Ela não tem regra de negócio e nem se comunica com a tela. No exemplo ali acima, se o Service quer saber o saldo, ela tem q ir no banco de dados pegar essa informação, certo? Então o Service pede para o repository o saldo do usuário X, daí ele vai no banco e pega o dado. Se o usuário pode ou não ver aquele saldo, quem tem essa inteligencia é o Service.

Ficou um pouco grande, mas acho que fica melhor para vc entender.