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

Localização do EntityManager na organização do código

Boa tarde. Na aula do módulo 9 foi apresentado o conceito de DAO e efetuado sua criação. Neste processo o DAO possui um construtor que recebe o entityManager da camada que chama o DAO. Neste caso o entityManager não deveria ser instanciado diretamente no DAO atribuindo a este a completa responsabilidade de coordenar as ações com o banco de dados, desde a criação do gerenciador de entidade (entityManager) até as atividades de persistencia e busca? Pergunto pois a classe que chama o DAO esta com duas responsabilidades : 1- Criação da conexão com o banco de dados para envio ao método do DAO; 2 - Efetuar a lógica aplicada a esta com a lista retornada do DAO, situação esta que difere do Single Responsability. Obrigado.

1 resposta
solução!

Oi Silvio,

Como o projeto do curso é standalone, ou seja, não é uma aplicação Web que utiliza frameworks, a classe com o método Main acaba sendo responsável por inicializar as dependencias, o que deixa o código dela com mais responsabilidades e problemas de manutenção.

Em um projeto Web, com o uso de frameworks como o Spring ou o CDI, essa responsabilidade passaria para o framework, e com isso o código ficaria mais desacoplado e fácil de manter.

Depois pesquise sobre o padrão Injeção de Dependências e veja como ele pode ser aplicado no Java com o uso de frameworks, para você ter uma ideia melhor.

Bons estudos!