Dúvida com projeto usando a orientação a objetos

2 respostas
R

Bom dia pessoal, tudo bem?

Seguinte, eu tenho algumas dúvidas em um projeto minúsculo que estou fazendo para treinar. É basicamente um sistema de cadastro de clientes, que você acessa com um usuário e senha, que se conecta com um banco de dados. Ok, até ai tudo bem, tenho no banco a tabela usuários e a tabela clientes, tenho no meu projeto três tipos de pacotes “APRESENTAÇÃO(telas do sistema)”, "NEGÓCIO(classes, como a dos clientes) e “PERSISTÊNCIA(arquivos e classes DAO do Banco de Dados.)”.

Pois bem, a primeira tela do Sistema é a de Login que tem a opção de criar o usuário, que quando é feito, um novo objeto do tipo usuário é constituído e inserido no banco de dados. A segunda tela, que é um menu principal do programa, recebe como parâmetro em seu construtor um objeto do tipo “usuario”, para registrar o usuário que fez alterações no programa.

Mas a minha dúvida é a seguinte, tenho formulários para cadastro, exclusão e edição de clientes no banco de dados, e gostaria de saber se as funções que excluem, mostram informações ou editam os clientes, precisam necessariamente receber um objeto do tipo cliente? Já que essa manipulação é feita via sql?

Se minha explicação ficou confusa, posso tentar explicar de uma maneira melhor. Mas o que basicamente gostaria de saber é se as funções dentro da classe “ClientesDao” que está no pacote “Persistência”, precisam necessariamente receber como parâmetro objetos do tipo “cliente”. No momento somente a função de inserir cliente está recebendo.

Agradeço desde já! Abraços.

2 Respostas

igor_ks

É melhor, se não for assim você passará todos os fields por parâmetro no seu método DAO?

É muito melhor

public void save(final Cliente cliente);

do que

public void save(final String nome, final String endereco, final String telefone…)

e por aí vai não acha?
Se vc adicionar um novo campo na classe endereco, seu método vai ter que ser alterado, quebrando todas as classes que utiliza ela.

PS:Repare no “final”. Teoricamente no DAO já deveria chegar os dados finais populados, ou seja, não vai alterar nada lá dentro. É uma boa prática 'deixar os objetos imutáveis o máximo possível.

R

igor_ks, realmente eu não havia pensado neste lado de poder adicionar campos depois, assim acho melhor utilizar objetos mesmo. Obrigado por clarear minha mente! Abraços!

Criado 26 de março de 2015
Ultima resposta 27 de mar. de 2015
Respostas 2
Participantes 2