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

Herança no DAO

Por que o não foi usada a herança no código abaixo? AutorDao não poderia estender DAO?

Grato.

public class AutorDao {

    @Inject
    EntityManager em;

    private DAO<Autor> dao;

    @PostConstruct
    void init() {
        this.dao = new DAO<Autor>(this.em, Autor.class);
    }

    // restante dos métodos
}
2 respostas
solução!

É considerado uma boa prática o uso de composição ao invés de herança. Isso torna a implementação da classe menos acoplada e um pouco mais flexível. No link abaixo, há uma boa referência aos porquês de se privilegiar composição à herança:

http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/pat/herancavscomposicao.htm

Muito obrigado pelo esclarecimento!