Uma classe utils com apenas métodos estáticos não seria uma má prática ?? se sim, como se deve fazer ??
Uma classe utils com apenas métodos estáticos não seria uma má prática ?? se sim, como se deve fazer ??
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!