Refatoração de código

2 respostas
V

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.

2 Respostas

J

Bom dia VA.

Acho legal sua preocupação com estrutura de código, coisa que hoje muitos desenvolvedores não tem.
Também sou um apreciador disso, visando sempre a otimização do sistema.

Te aconselho a ler 2 livros, ambos do Martin Fowler.

O primeiro voltado para Refactoring.
http://martinfowler.com/books/refactoring.html

O segundo voltado para Padrões de Projeto, o famoso GoF.


Sobre Padrões ainda, existe um tópico do DEVMedia bem interessante:
http://www.devmedia.com.br/conheca-os-padroes-de-projeto/957

Com uma rápida busca no Google, você consegue achar os livros ou pelo menos boas referências.

Espero ter ajudado e bom desenvolvimento.

V

Muito obrigado! Com certeza darei uma olhada nos livros e no tópico.

Criado 10 de fevereiro de 2015
Ultima resposta 1 de mar. de 2015
Respostas 2
Participantes 2