Retorno de Consultas DAO  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
jprogrammer
Virtual Machine Man
[Avatar]
Membro desde: 04/02/2005 13:49:20
Mensagens: 546
Offline

Vou refazer uma pergunta que fiz em um tópico e ficou esquecida.

o que vocês retornam em um metodo de consulta de um DAO quando :

- é agrupamento
- com restrição de campos (apenas alguns campos da classe)
retornam um DTO só com os campos usados ou o objeto inteiro ?

- campos nulos (ver se o campo é nulo em primitivos)
usam classes Wrappers ?

Gostaria da opinião de vocês.

O bom menino !!!
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

Todas as anteriores, depende do caso e necessidade.

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline

1-Um Collection genérica.
2-Independente do que eu precise, retorno o objeto inteiro, quem é responsável pelo tratamento das informações é minha camada de negócio.
3-Não entendi, de qualquer forma retorno sempre o objeto, havendo campos nulos ou não.

------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."

http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
[Email]
jgbt
GUJ Master
[Avatar]

Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline

depende muito.
ja retornei collections de obj, somente obj com os atributos....
gosto muito de usar uma VO generico, que é um hashmap, so ele trafega dados, crio interfaces para as cosntantes usadas nas chaves.
ele pode conter beans, ou collections de beans, ou wrappers, dependendo do caso.

[]'s

João Bier
Desenvolvedor Java
[Email]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

Eu acredito que todos esses usos são válidos, não vejo mal em o seu DAO retornar diretamente DTOs caso em todos use cases dele os valores são enviados para o outro tier sem qualquer processamento.

Não tem problema retornar objetos incompletos caso um dos membros seja um blob de 100megas, por exemplo.

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

jgbt wrote:depende muito.
ja retornei collections de obj, somente obj com os atributos....
gosto muito de usar uma VO generico, que é um hashmap, so ele trafega dados, crio interfaces para as cosntantes usadas nas chaves.
ele pode conter beans, ou collections de beans, ou wrappers, dependendo do caso.

[]'s



Enterprise HashMap detected

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
jgbt
GUJ Master
[Avatar]

Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline

louds wrote:
Enterprise HashMap detected


o que quer dizer?

[]'s

João Bier
Desenvolvedor Java
[Email]
jprogrammer
Virtual Machine Man
[Avatar]
Membro desde: 04/02/2005 13:49:20
Mensagens: 546
Offline

Todo muito mete o pau no desenvolvimento com HashMap, mas ele quebra uma galho enorme.
Agora é mais fácil falar "depende da necessidade".
Pelo menos todo mundo dá sua opinião

Quando me refiro a ver se o campo é nulo em primitivos me refiro no seguinte.


ou uso



O bom menino !!!
jgbt
GUJ Master
[Avatar]

Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline

sinceramente, ate gostaria que alguem me desse motivos de não usar hashmap.
qual a diferença de ter 30 beans para trafegar dados, ou ter um unico obj para isso.
quase todos frameworks trabalham com hashmap.
alguem???

[]'s

This message was edited 1 time. Last update was at 15/04/2005 09:02:36


João Bier
Desenvolvedor Java
[Email]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

Eis o problema, tanto com HashMaps quanto com VOs: http://www.martinfowler.com/bliki/AnemicDomainModel.html
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
jgbt
GUJ Master
[Avatar]

Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline

cv wrote:Eis o problema, tanto com HashMaps quanto com VOs: http://www.martinfowler.com/bliki/AnemicDomainModel.html


ae cv, esse artigo ja foi citado antes e nunca parei p/ ler...
vo da uma lida então e posto minhas considerações....
valew!!

[]'s

João Bier
Desenvolvedor Java
[Email]
jprogrammer
Virtual Machine Man
[Avatar]
Membro desde: 04/02/2005 13:49:20
Mensagens: 546
Offline

VO e HashMaps podem ser usados para transportar dados de um tier para outro. Neste caso não são antipatterns pelo contrário.
Agora que eu entendi é que o autor do artigo condena o uso na camada de domínio e negócios, pois quebra a estrutra OO trabalhando com dados generalizados.

Então cv como você trabalha com dados agrupados.
ex:

a média de salário de departamentos. Agrupando por departamento e trazendo o nome de cada responsável.
onde departamento , responsável seriam entidades diferentes.

Para não usar HashMap só vejo DTO.

O bom menino !!!
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline

Se voce quer tanto a media de salario de um departamento, pq nao ter um metodo Departamento.getMedia(), que calcula a media baseando-se nos salarios dos funcionarios que fazem parte dele?
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
jgbt
GUJ Master
[Avatar]

Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline

cv wrote:Se voce quer tanto a media de salario de um departamento, pq nao ter um metodo Departamento.getMedia(), que calcula a media baseando-se nos salarios dos funcionarios que fazem parte dele?


blz, entendi a sua abordagem, mas fica a duvida:
o que o Departamento.getMedia() retornaria, ja que tem dados agrupados de 2 entidades? VO? HashMap?

[]'s

João Bier
Desenvolvedor Java
[Email]
fabio.patricio
GUJ Master

Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline

jgbt wrote:
cv wrote:Se voce quer tanto a media de salario de um departamento, pq nao ter um metodo Departamento.getMedia(), que calcula a media baseando-se nos salarios dos funcionarios que fazem parte dele?


blz, entendi a sua abordagem, mas fica a duvida:
o que o Departamento.getMedia() retornaria, ja que tem dados agrupados de 2 entidades? VO? HashMap?

[]'s


Double ou Float nao?

]['s

Fabio Patricio
http://blog.wansoft.com.br

[WWW] [MSN] [ICQ]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team