1
resposta

Aula 03 - Reduzindo acoplamento

Ao manter os métodos atualizarSalario público na classe Funcionário, permitindo que esse fosse alterado sem passar pela lógica de negócio implementada no service, não estaríamos ferindo o princípio do acoplamento ? Se sim, vocês tem alguma solução para essa situação nesse projeto ?

1 resposta

Oi Danilo,

Pois é, nesse exemplo é realmente possível chamar o método diretamente, sem passar pela validação.

Daria para evitar isso reestruturando os pacotes da aplicação para o modelo package by feature e tornando o método atualizarSalario package private, pois assim seria possível garantir que apenas as classes do mesmo pacote teriam acesso a esse método.

Outra alternativa seria deixar a lógica dentro da classe Funcionario, mas isso vai fazer ela ficar maior e menos coesa.

Perceba então que nem sempre teremos uma solução "ideal", pois sempre haverá vantagens/desvantagens e devemos avaliar qual solução se encaixa melhor para cada situação.

Bons estudos!