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

Metodos privados ou Classes separadas ?

Bom dia, prezados.

Nos projetos que trabalho, nas classe de serviços, vejo que tem vários metodos privados dentro da propria classe, que realiza algum tipo de operação, como: validarDatas, realizarCalculoX, VerificarAlgumaCoisa, .....

Minha dúvida é, o mais correto serias criar classes a parte para cada metodo privado desse e injetar na camada de serviço, ou essa abordagem de metodos privados também são validos? levando em conta que tem service com mais de 1000 linhas de código, logo se eu fosse extrair cada metodo privado em uma classe separada eu teria muitas classes (porém cada uma com uma responsabilidade única)?

1 resposta
solução!

Olá, William!

Sua pergunta é muito relevante e é uma dúvida comum quando estamos lidando com princípios SOLID e programação orientada a objetos.

Os princípios SOLID nos orientam a criar classes que têm uma única responsabilidade. Isso não significa necessariamente que cada método deve ser uma classe separada, mas sim que cada classe deve ter uma única responsabilidade dentro do sistema.

Métodos privados dentro de uma classe de serviço são comuns e muitas vezes necessários. Eles geralmente são usados para realizar operações que são relevantes apenas para a classe em que estão. Por exemplo, um método validarDatas pode ser necessário apenas na classe de serviço onde está, e não faz sentido torná-lo uma classe separada.

No entanto, se uma classe de serviço está se tornando muito grande (como você mencionou, algumas com mais de 1000 linhas de código), isso pode ser um sinal de que essa classe está fazendo muitas coisas e talvez deva ser dividida. Neste caso, alguns desses métodos privados podem, de fato, fazer mais sentido como classes separadas.

Por exemplo, se você tem um método realizarCalculoX que é complexo e tem muitas linhas de código, pode ser uma boa ideia criar uma classe CalculadoraX para encapsular essa lógica. Isso torna o código mais fácil de gerenciar e testar.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software