Tenho a seguinte dúvida sobre as formas de desenvolvimento abaixo.
Qual é a mais coerente em se fazer.
No exemplo o desenvolvedor precisa somente de buscar todas as pessoas no banco.
Exemplo 1 com Injeção
public class PessoaBean {
@Inject PessoaBO pessoaBO;
@Inject PessoaDAO pessoaDAO;
List<Pessoa> lista = pessoaBO.listarPessoas();
// ou
List<Pessoa> lista = pessoaDAO.findALL();
}
public class PessoaBO {
@Inject PessoaDAO pessoaDAO;
// Método usado só para chamar o DAO
public List<Pessoa> listarPessoas() {
return pessoaDAO.findALL();
}
// métodos de negócio
}
public class PessoaDAO {
public List<Pessoa> findALL() {
return super.findALL();
}
}
Exemplo 2 - Usando extends
public class PessoaBean {
@Inject PessoaBO pessoaBO;
List<Pessoa> lista = pessoaBO.findALL();
}
public class PessoaBO extends PessoaDAO {
// métodos de negócio
}
public class PessoaDAO {
public List<Pessoa> findALL() {
return super.findALL();
}
}