Olá galera, estou construindo a parte de banco de dados do meu sistema e gostaria que vocês me ajudassem para aperfeiçoar o minha OO
Criei 2 interfaces, 1 genérica e 1 voltada para diretamente para objeto com questões mais “pessoais” do mesmo.
Genérico
public interface DAO<T, ID> extends Serializable{
public void deleta(T t);
public void atualiza(T t);
public void salva(T t);
public T buscaPorId(ID id);
public Iterator<T> lista();
}
“Pessoal”
public interface ProdutoDAO extends DAO<Produto, Integer> {
public Produto buscaPorNome(String nome);
}
Implementacao da interface
@Entity
public class Produto implements ProdutoDAO {
private static final long serialVersionUID = 1L;
@Id
private Integer id;
private String descricao;
public Produto(Integer id, String descricao){
this.id = id;
this.descricao = descricao;
}
//OUTROS MÉTODOS
}
Minha implementação no caso é voltada para o Hiberanate.
Gostaria de saber se existe uma forma de melhorar mais a OO nesse caso, se possível algum padrão pra lidar com questões assim.
Obs.: atualmente estou voltado para o padrão MVC.