Jump to content
Sign in to follow this  
carcleo

Boas praticas programação orientada objetos

Recommended Posts

carcleo

Preciso de una orientação com relação à boas praticas programação orientada objetos

Tenho uma classe de Clientes.

Os Clientes podem ter vários telefones e vários endereços.

Então, pensei em criar

uma Classe Enderecos tendo os seus atributos normais tipo rua, numero, complemento...

uma Classe Telefone tendo seus atributos normais tipo (Fixo, Celular), numero

Cada objeto das classes Telefones e Enderecos, guardaria um número de Cliente para cada objeto como um atributo.

Assim, cada objeto da classe Clientes teria apenas dados afins, como CPF, CNPJ, nome, etc..

Duvidas:

1) Na Classe Endereços, o atributo Cliente deveria ser preenchido com um objeto inteiro da classe Clientes ou apenas o id do cliente seria o ideal?

2) Analogamente á duvida 1, o que seria melhora para a Classe Telefones? Guardar o objeto ou apenas o id do Cliente?

Share this post


Link to post
Share on other sites
nelsonr

Boas,

não sei se percebi bem, mas estás a pensar guardar o cliente no objecto endereços?

Um cliente pode ter mais de um endereço?

Caso possa, a meu ver podias ter as classes:

endereco

---morada

---codigoPostal

---etc

telefone

---numero

---tipo (telemovel, fixo, etc)

cliente

---nome

---listaEnderecos

---listaTelefones

Mas também, se um cliente puder ter apenas um endereço e um telefone, julgo não haver necessidade de criares classes para isso, coloca logo os campos no cliente (morada, codigoPostal, telefone, telemovel, etc).

Share this post


Link to post
Share on other sites
carcleo

Sim. Então devo cadastrar os endereços (mais de 1 possibilidade por cliente) e analogamente os telefones e na Classe Clientes ter um atributo chamado "endereços" e outro chamado "telefones" que serão Arrays de objetos de suas respectivas classes?

Mas, gravando por exemplo os 2 primeiros endereços, na hora de gravar no bd, como fazer para saber quais endereços são daquele cliente?

Edited by carcleo

Share this post


Link to post
Share on other sites
nelsonr

Na base de dados podes ter uma tabela de relação entre clientes e endereços.

Exemplo:

ID autonumber

IDCliente

IDEndereco

Share this post


Link to post
Share on other sites
carcleo

Acho que entendi!

Grava o Cliente (guarda o insert_id)

Grava o Endereço (guarda o insert_id)

Grava na tabela de relacionamento os id's do cliente e do endereço

Como se fosse uma tabela de pedidos (pedido X Itens)

Mas dessa forma fica parecendo muito com programação estruturada. Não?

Edited by carcleo

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.