| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/02/2010 00:02:05
|
Psycopata
JavaTeenager
![[Avatar]](/images/avatar/bfc89c3ee67d881255f8b097c4ed2d67.jpg)
Membro desde: 20/04/2006 10:45:02
Mensagens: 190
Offline
|
Oi gente, é o seguinte: eu tenho uma entidade cliente. Nessa entidade existe o atributo endereço.
endereço é outra entidade, responsável pela informação de endereço (duhrrr). O problema é que o cliente possui vários tipos de endereço:
- Endereço da sede;
- Endereço de entrega
- Endereço de responsável
e por ai vai. Só que todos os endereços possuem a mesma estrutura.
No código, ficaria assim:
Então, como ficaria isso no diagrama de domínio?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/02/2010 00:20:58
|
viniciusfaleiro
Virtual Machine Man
![[Avatar]](/images/avatar/839185ccf72cdda4fca46bfcc95208f0.jpg)
Membro desde: 22/03/2008 20:07:50
Mensagens: 524
Offline
|
Vish... acho que isso tem vários jeitos de fazer.. escolha o melhor... Alguns que eu faria.. sei lá:
1 - Criar uma entidade TipodeEndereco (codigo, descricao) e referenciar na entidade endereço
2 - Criar um MAP na Entidade endereço MAP<String, String>.... dai vc adiciona endereco_residencial, blablablabla
3 - Criar hierarquicamente... extends...
Agora depende do que vc vai fazer com isso... Se for persistir o mais facil acho que é criar uma tabela tipodeendereço e fazer aquele mapeamento que falei... Sei la... talvez isso te ilumine
So que presta atenção na sua modelagem... endereço de entrega é do cliente??? No caso seria um pedido ou coisa assim certo?? Endereço da sede tbm é do cliente???
Talvez a própria entidade Endereço já resolveu tudo e vc só tem que colocar a referencia nas entidades certas
This message was edited 1 time. Last update was at 27/02/2010 00:23:20
|
Linkedin: http://www.linkedin.com/pub/vinicius-faleiro/32/697/624 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/02/2010 09:55:58
|
Psycopata
JavaTeenager
![[Avatar]](/images/avatar/bfc89c3ee67d881255f8b097c4ed2d67.jpg)
Membro desde: 20/04/2006 10:45:02
Mensagens: 190
Offline
|
Ontem a tardezinha eu estava pensando nisso e cheguei na sua conclusão do tipo de endereço.
Cara, quando a sua pergunta, olha só como é que é: digamos que vc tem uma empresa, com sede num lugar, mas o aumox da empresa é em outro. Por isso ter o endereço da sede e de entrega.
Mas valeu, o tipo de endereço é a melhor forma mesmo.
Ah, sim, isso é persistido em banco
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2010 00:08:56
|
osmio
Java Ninja
Membro desde: 22/08/2006 20:27:54
Mensagens: 252
Offline
|
Aplicando este teu conceito de TipoDeEndereco nas entidades Endereco, dentro do Cliente voce possuiria uma lista de Endereços correto?
No caso de querer identificar o EnderecoDeEntraga, teria que percorrer toda a lista?
Humm...
Veja isso:
Se for isso, não faz nenhum sentido para mim.
|
"O pensamento lógico pode levar você de A a B, mas a imaginação te leva a qualquer parte do universo."
- Einstein, Albert |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2010 10:07:24
|
A.L
JavaGuru
![[Avatar]](/images/avatar/99346f284eb8b6231910a13568f29d0f.jpg)
Membro desde: 18/09/2008 22:45:30
Mensagens: 225
Localização: Araraquara - SP - Brazil
Offline
|
osmio wrote:Aplicando este teu conceito de TipoDeEndereco nas entidades Endereco, dentro do Cliente voce possuiria uma lista de Endereços correto?
No caso de querer identificar o EnderecoDeEntraga, teria que percorrer toda a lista?
Humm...
Veja isso:
Se for isso, não faz nenhum sentido para mim.
Realmente seria algo custoso.
Se for pensar OO, voce poderia criar vários EnderecosXXVO que estendessem de um Endereco, nao lembro se isso quebra alguma regra ou padrao.
Mas se os Endereços podem passar por operacoes de CRUD, acho que estabelecer um Tipo é uma opção viável.
|
Alex Antonio Fernandes Lopes
Dicas Linux : http://www.dicaslinux.wordpress.com
====================
"The best way to predict the future is to invent it" - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2010 10:31:54
|
g4j
GUJ Ranger
![[Avatar]](/images/avatar/bea3c20edb84a0dd83a99a9a7274bc67.jpg)
Membro desde: 02/05/2007 14:32:03
Mensagens: 817
Localização: Curitiba
Offline
|
Se o teu negócio exige que a entidade cliente tenha UM endereço de sede, vários endereços de entrega e vários endereços de responsável, o teu primeiro post é o mais correto ao meu ver.
|
Gerson Luiz Chagas
SCJP 5.0
SCWCD 5.0
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2010 10:41:13
|
osmio
Java Ninja
Membro desde: 22/08/2006 20:27:54
Mensagens: 252
Offline
|
A.L wrote:
Realmente seria algo custoso.
Se for pensar OO, voce poderia criar vários EnderecosXXVO que estendessem de um Endereco, nao lembro se isso quebra alguma regra ou padrao.
Mas se os Endereços podem passar por operacoes de CRUD, acho que estabelecer um Tipo é uma opção viável.
O problema não é o Tipo, e sim o custo de identificação.
Não sei qual o escopo da aplicação, mas imagine um cenário:
- O cliente possui:
* Endereco da sede;
* Endereco de cobranca;
* Endereco de entrega;
* Endereco de correspondencia;
* Endereco de visita comercial;
* Endereco de visita técnica;
* Endereco de entrega 2;
* Endereco de entrega 3;
* Outros enderecos...;
Nesse cenário, o cliente possui diversos enderecos. Deveria percorrer a lista até encontrar o endereco de entrega. Porém, possuo 3 enderecos de entrega cadastrados. Fico ainda em dúvida de qual deles é o correto.
Na minha opinião, EnderecoDeEntrega não faz parte de Cliente. Mas sim de Pedido por exemplo.
O cliente deve sim possuir a lista de endereços com seus respectivos tipos. O Pedido, sempre será de um cliente, e dentre todos os endereços do tipo ENTREGA do cliente, deverá ser escolhido um.
Mesmo assim, uma lista sequencial, nesse caso, não seria a melhor opção.
|
"O pensamento lógico pode levar você de A a B, mas a imaginação te leva a qualquer parte do universo."
- Einstein, Albert |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2010 11:19:30
|
A.L
JavaGuru
![[Avatar]](/images/avatar/99346f284eb8b6231910a13568f29d0f.jpg)
Membro desde: 18/09/2008 22:45:30
Mensagens: 225
Localização: Araraquara - SP - Brazil
Offline
|
osmio wrote:
A.L wrote:
Realmente seria algo custoso.
Se for pensar OO, voce poderia criar vários EnderecosXXVO que estendessem de um Endereco, nao lembro se isso quebra alguma regra ou padrao.
Mas se os Endereços podem passar por operacoes de CRUD, acho que estabelecer um Tipo é uma opção viável.
O problema não é o Tipo, e sim o custo de identificação.
Não sei qual o escopo da aplicação, mas imagine um cenário:
- O cliente possui:
* Endereco da sede;
* Endereco de cobranca;
* Endereco de entrega;
* Endereco de correspondencia;
* Endereco de visita comercial;
* Endereco de visita técnica;
* Endereco de entrega 2;
* Endereco de entrega 3;
* Outros enderecos...;
Nesse cenário, o cliente possui diversos enderecos. Deveria percorrer a lista até encontrar o endereco de entrega. Porém, possuo 3 enderecos de entrega cadastrados. Fico ainda em dúvida de qual deles é o correto.
Na minha opinião, EnderecoDeEntrega não faz parte de Cliente. Mas sim de Pedido por exemplo.
O cliente deve sim possuir a lista de endereços com seus respectivos tipos. O Pedido, sempre será de um cliente, e dentre todos os endereços do tipo ENTREGA do cliente, deverá ser escolhido um.
Mesmo assim, uma lista sequencial, nesse caso, não seria a melhor opção.
Sim, tem razão nessa idéia, por conta da mistura de Endereços desnecessários e que talvez fugissem da situação (buscar soh Endereços de Entrega).
Mas levando em conta apenas modelo de domínio, nao pensando em modelo de dados, criar um VO para cada tipo de Endereço seria boa opção então? Esse VO se agregaria onde fosse necessário, seja no Cliente, no Pedido, na Entrega...etc.
O que me diz?
|
Alex Antonio Fernandes Lopes
Dicas Linux : http://www.dicaslinux.wordpress.com
====================
"The best way to predict the future is to invent it" - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2010 11:27:01
|
osmio
Java Ninja
Membro desde: 22/08/2006 20:27:54
Mensagens: 252
Offline
|
A.L wrote:
Mas levando em conta apenas modelo de domínio, nao pensando em modelo de dados, criar um VO para cada tipo de Endereço seria boa opção então? Esse VO se agregaria onde fosse necessário, seja no Cliente, no Pedido, na Entrega...etc.
O que me diz?
Não vejo necessidade de criação de vários VO´s uma vez que o endereço de entrega vai possuir os mesmos dados do endereço de correspondência. Vejas alguns possíveis atributos:
Endereco
* rua;
* numero;
* bairro;
* cidade;
* estado;
* cep;
* outros atributos de um endereço;
Esses atributos são suficientes para qualquer Tipo de endereço.
A extensão aqui não faria sentido, já que voce não tem atributos específicos de um endereço de entrega.
|
"O pensamento lógico pode levar você de A a B, mas a imaginação te leva a qualquer parte do universo."
- Einstein, Albert |
|
|
 |
|
|