Posso alterar o parâmetro do meu Set?

1 resposta
kadu.m.lino

Galera eu tenho esse java bean abaixo:

public class Servico {

	private int id;
	private Cliente cliente;
	private Date date;
	private int preco;
        
        // getters e setters
}

Perceba que eu tenho um atributo do tipo cliente…

queria saber se posso fazer isso logo abaixo: (poder eu sei que posso, queria saber se é uma boa prática de programação)

ao invés do meu setCliente(Cliente cliente) receber um Cliente eu colocar ele pra receber um int setCliente(int id) por exemplo e dentro do setCliente(int id) eu buscar o cliente pelo ID
isso facilitaria muito minha vida, pois estou usando VRaptor, mas creio q eu estou ferindo o desenvolvimento em Camada…

oq vcs acham q devo fazer pra esse caso?

ex :

public void setCliente(Cliente cliente){ this.cliente = cliente; }

ao invés desse exemplo acima e faço isso

public void setCliente(int id){ this.cliente = clinenteDAO.buscaPorId(id); }

1 Resposta

WRYEL

Você pode fazer o que quiser rs. Mas está fazendo ligamento forte da sua camada de acesso a dados com sua camada de Domínio :slight_smile:

O mais básico, seria atraves de um objeto de negócio, você acessar seu DAO, ex:

Controller -> Business Object -> DAO

public void umMetodoDoSeuController() {
       BusinessObject businessObject = new BusinessObject();
       Object object = businessObject.findObjectById(1);
       ...
}

Lembrando que no seu DAO, você está acessando agora um banco de dados relacional, amanhã, você pode estar acessando um banco de dados não relacional, ou até mesmo um webservice, ou os dois ao mesmo tempo … Adicione chamadas por interface e você deixa de fazer o famoso acoplamento forte :smiley:

veja este link depois: http://www.tiagorolim.com/2009/06/padrao-de-projetos-strategy-na-pratica.html

[]'s

Criado 15 de junho de 2012
Ultima resposta 15 de jun. de 2012
Respostas 1
Participantes 2