[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
HOLDING DE A. E PART. S.A. ­ HALIPAR
Criador HOLDING DE A. E PART. S.A. ­ HALIPAR 10/04/2023

Olá professor, como deve funcionar a comunicação entre as camadas, exemplo:
Tenho ServiceA e ServiceB, também tenho RepositoryA e RepositoryB.

Se dentro do ServiceA eu preciso de dados que estão no RepositoryB, o que é o correto ?
Injetar o RepositoryB e os métodos do próprio ServiceA acessa diretamente o RepositoryB ou injeto o ServiceB no ServiceA e acesso os métodos do ServiceB para acessar os dados do RepositoryB ?

Manager Carlos Ferreira 10/04/2023

Olá, tudo bem?

1 - Se dentro do ServiceA eu preciso de dados que estão no RepositoryB, o que é o correto ?
Sem problemas, você pode injetar o repositório B no Service A, a relação não precisa ser de 1:1 entre Service e Repositório. Tenho projetos que precisei injetar mais de um repositório no service.

Não acho uma boa um service pegar dados do outro, porque se um mudar qualquer regra, pode quebrar recursos em cadeia.

Carlos Ferreira
Criador HOLDING DE A. E PART. S.A. ­ HALIPAR 10/04/2023

E a relação do controller e do service, também não precisa ser 1:1 ?

Posso utilizar mais de um Service em um controller ?

HOLDING DE A. E PART. S.A. ­ HALIPAR
Manager Carlos Ferreira 10/04/2023

Até pode sim, mas também dependendo o caso, o mesmo controller está servindo para propósitos diferentes, talvez neste caso, seria mais interessante criar outros controllers, e evitar controllers que usam muitos services;

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!