Responsabilidade do Método

3 respostas
V

Gente é o seguinte:
Sempre tenho algumas dúvidas em relação ao lugar ou melhor em que classe ele fica. Exemplo:

Tenho a classe Agencia e a classe Cliente. Quem fica com o método excluir, onde este exclui o cliente. Se for cliente, eu posso fazer isto?

Cliente cliente = new Cliente();

cliente.setCpf(123456789);

cliente.excluir();

ou

Cliente cliente = new Cliente();

cliente.setCpf(123456789);

cliente.excluir(cliente);

3 Respostas

evertonsilvagomesjav

quem ficara com o metodo excluir no seu caso e a agencia, e vc so irá chamar seu metodo na view.. tipo isso:

Agencia agencia = new Agencia();

agencia.excluirCliente();
guerios
evertonsilvagomesjava:
quem ficara com o metodo excluir no seu caso e a agencia, e vc so irá chamar seu metodo na view.. tipo isso:
Agencia agencia = new Agencia();

agencia.excluirCliente();

Se Agencia for um Bean de persistencia também

O mais correto seria criar um DAO ou Um EJB

Seria

ClienteDAO.excluir(cliente);
Mas se quer misturar a definição do bean com métodos de operação como excluir, alterar, incluir

Deve deixar a exclusão dentro do proprio objeto, sendo que cada objeto é responsável por ele mesmo

Agora se quiser excluir TODOS os clientes da agência

Dentro da agência vc vai chamar
for clientes do
                ClienteDAO.excluir(cliente)

O correto seria algo próximo disso. :)

edmarr

Depende muito da sua persistência para saber quem ira ficar com a responsabilidade de Excluir , pois vc poderia ter Vinculo com outras entidades
que nao permitiriam que tal cliente fosse excluído .

ex. Saldo Devedor em uma agencia .

Criado 16 de setembro de 2009
Ultima resposta 17 de set. de 2009
Respostas 3
Participantes 4