Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Boas práticas com Services e Repositorys

Olá, tudo bem?

Seguinte, em meus projetos adoto "um modelo" com Spring(boot, security, etc...), Services (regra de negócio) e Repositorys (camada de persistência) além de controllers, views, etc...

Porém, quando minhas entidades/classes possuem relacionamento e necessito manipular atributos que pertencem a outra entidade/classe, me pergunto: é correto chamar um service dentro de outro?

Exemplo:

@Service
public class UsuarioService {

    @Autowired
    private UsuarioRepository usuarioRepository;

    private OutroService outroService;

    // Métodos e regra de negócio

}

Um colega de trabalho chegou a me comentar sobre Façades, mas quando procuro na web é retornado sobre padrões de projeto.

Estou aberto para opiniões :)

5 respostas
solução!

Services podem e devem interagir com outros services. Um serviço deve ser escrito de tal forma que não se importe se o usuário o está chamando, um serviço na 'mesma camada' ou esteja sendo combinado em um serviço composto.

Interessante...

Seguindo sua resposta, o código abaixo estaria "correto"?

@Service
public class ContaService {

    @Autowired
    private MovimentacaoService movimentacaoService;

    @Autowired
    private UsuarioService usuarioService;

    // código

}

Perfeitamente correto.

Beleza, valeu pela atenção!!!

Por nada amigo, bons estudos!