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

Má prática ???

Uma classe utils com apenas métodos estáticos não seria uma má prática ?? se sim, como se deve fazer ??

1 resposta
solução!

Olá, Pedro! Entendo sua preocupação, é sempre importante questionar nossas práticas para garantir que estamos seguindo os melhores métodos.

Em relação à sua dúvida, a utilização de classes utilitárias com métodos estáticos não é necessariamente uma má prática, mas sim uma prática que deve ser usada com cautela. Isso porque, embora sejam úteis para agrupar funções comuns e reutilizáveis, elas podem levar a um design de código menos flexível e mais difícil de testar, especialmente se forem usadas em excesso.

No contexto da aula, a classe JPAUtil foi criada para isolar a criação do EntityManager e esconder também o EntityManagerFactory. Isso ajuda a manter o código mais organizado e fácil de manter, já que o EntityManager é criado em um único lugar.

public class JPAUtil {
    
    private static final EntityManagerFactory FACTORY = Persistence
            .createEntityManagerFactory("loja");

    public static EntityManager getEntityManager() { 
        return FACTORY.createEntityManager();
    }
}

No entanto, em um projeto maior ou em um ambiente de produção, você provavelmente usaria um framework como o Spring, que pode gerenciar a criação e injeção do EntityManager para você. Nesse caso, a classe utilitária pode não ser necessária.

Portanto, a resposta para sua pergunta depende muito do contexto. Em alguns casos, uma classe utilitária com métodos estáticos pode ser a melhor solução, enquanto em outros, pode ser melhor usar uma abordagem diferente, como injeção de dependência.

Espero ter ajudado e bons estudos!