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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
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.