Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Posso acessar o DAO a partir do MODEL?

No padrão MVC, em uma classe que representa uma entidade(MODEL), eu poderia chamar classes do DAO para fazer algum cálculo? Ex.: Em um modelo de vendas tenho a classe vendedor. A mesma possui seus atributos nome, cpf, etc. Seria correto criar um método que retorna dados (lista) referente ao extrato de comissão? (este método precisaria fazer acesso ao banco de dados, para isso preciso usar a DAO)

2 respostas

Rui, tudo bem ?

Poder até pode, mas não é uma boa abordagem.

A ideia dos seus models é serem reaproveitados em outros projetos, se você colocar um dao dentro dele, você pode ter problemas de acoplamento, que não é bacana.

solução!

Isso nao é muito comum. Ate por causa do ciclo de vida do DAO (atrelado a conexao com banco) as vezes ser diferente so ciclo de vida de objetos de modelo (que podem por exemplo ser colocados na sessao do usuario).

Existe um pessoal de Domain Driven Design que ate fala se criar uma abstracao de dados dentro do Model chamada Repository. É interessante. Se estiver procurando estudar mais sobre design orientado a objetos em situacoes nao tiviais, é um assunto bacana pra se ler.