como usar Transfer Object ?  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
Filipe Sabella
GUJ Expert

Membro desde: 12/03/2003 11:25:57
Mensagens: 4679
Offline

Com certeza, senão fica uma zona. Criar um layer de abstração desse jeito seria besta:

Former LIPE.
[ICQ]
rodrigousp
JavaEvangelist
[Avatar]

Membro desde: 09/10/2003 14:23:31
Mensagens: 379
Offline

Lipe,

ahmm... Eu apenas gostaria de registrar aqui minha insatisfação com o uso indiscriminado do DAO pattern.

Não é que DAO seja uma idéia ruim, mas a interface Session do Hibernate já nem tem funcionalidade suficientes para a maioria das necessidades de um DAO. IMHO, se você puder evitar utilizar um DAO (e usar uma entidade mais genérica) melhor, você não acha ?

Rodrigo di Lorenzo Lopes - blogger
[MSN] [ICQ]
Filipe Sabella
GUJ Expert

Membro desde: 12/03/2003 11:25:57
Mensagens: 4679
Offline

Para as operações CRUD dá para generalizar sim, ainda mais com Generics como o cv mostrou

Mas não me lembro de criar um DAO/Repository/WTFory só com esses 4 métodos hehe

Former LIPE.
[ICQ]
rodrigousp
JavaEvangelist
[Avatar]

Membro desde: 09/10/2003 14:23:31
Mensagens: 379
Offline

Acho que a maioria dos DAOs se resumem a isto. Acho que você poderia querer fazer buscas para alguns objetos chaves. Nesse caso, você poderia utilizar uma classe para realizar as operações de busca. Se isto ainda não for suficiente, ou as operações CRUD forem mais complexas do que as descritas aqui, então o padrão DAO pode ser (muito bem) considerado.

Agora, eu nunca utilizei o generics e sempre consegui generalizar o CRUD (no hibernate), porque o parâmetro desses métodos no session é Object.

Rodrigo di Lorenzo Lopes - blogger
[MSN] [ICQ]
Filipe Sabella
GUJ Expert

Membro desde: 12/03/2003 11:25:57
Mensagens: 4679
Offline

http://www.guj.com.br/posts/list/15/20668.java

Former LIPE.
[ICQ]
okara
JavaTeenager

Membro desde: 16/05/2005 08:47:08
Mensagens: 152
Offline

Estava passando por um dilema sobre DTO.
Estava pensando em usar DTO's dinâmicos ou DTH (Data Tranfer HashMaps)
Vi que é bem utilizado pelo pessoal lá fora

http://helpdesk.princeton.edu/kb/display.plx?id=9772

http://www.theserverside.com/discussions/thread.tss?thread_id=9154

Gostaria da opinião de vocês.
agodinhost
Virtual Machine Man
[Avatar]

Membro desde: 28/03/2006 21:19:16
Mensagens: 590
Localização: RJ, Tijuca
Offline

só pra dar seqüencia nesse tópico (que está muito, muito maneiro)

okara wrote:Estava pensando em usar DTO's dinâmicos ou DTH (Data Tranfer HashMaps)


eu não gosto de nenhuma das duas idéias.

Em um projeto recente vi que a abordagem do DTH seria legal mas fiquei com receio de complicar muito o código e acabei optando por usar CachedRowSet que, ao meu ver, reduziria esse risco (Floyd Marinescu sugere isso como um pattern mas eu nunca vi ninguém falando em CachedRowSet que não fosse a implementação da sun).

desculpem se falei alguma m ok?
acabei de chegar por aqui.

Também gostaria de trocar idéias sobre isso.

"The difference between theory and practice is that, in theory, there is no difference between theory and practice".
[WWW] [MSN]
okara
JavaTeenager

Membro desde: 16/05/2005 08:47:08
Mensagens: 152
Offline

Ressucitando o tópico...
Por que os DTH complicariam o código ?
louds
Moderador
[Avatar]

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

okara wrote:Ressucitando o tópico...
Por que os DTH complicariam o código ?

Porque você precisa de uma pensa de sets de uma lado e uma tonelada no outro?

Fora que DTH são um engodo, eles geram um tráfego enorme de dados e consomem memória a rodo.

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]
marcelomartins
Moderador
[Avatar]

Membro desde: 07/01/2004 10:53:19
Mensagens: 1477
Localização: Porto Alegre - RS
Offline

louds wrote:
okara wrote:Ressucitando o tópico...
Por que os DTH complicariam o código ?

Porque você precisa de uma pensa de sets de uma lado e uma tonelada no outro?

Fora que DTH são um engodo, eles geram um tráfego enorme de dados e consomem memória a rodo.

Depende.

DTH são uma boa maneira de abstrarir os Beans entre as camadas. E se o trabalho de gerenciar os HashMaps for bem feito (leia-se, o programador não precisa fazer nada) eu acho uma boa alternativa.

Marcelo Martins
http://twitter.com/marcelomartins
Tudo que hoje eu realmente preciso saber, aprendi no jardim da infância.

okara
JavaTeenager

Membro desde: 16/05/2005 08:47:08
Mensagens: 152
Offline

marcelomartins wrote:
DTH são uma boa maneira de abstrarir os Beans entre as camadas. E se o trabalho de gerenciar os HashMaps for bem feito (leia-se, o programador não precisa fazer nada) eu acho uma boa alternativa.


Tem como dar um exemplo disso ?
marcelomartins
Moderador
[Avatar]

Membro desde: 07/01/2004 10:53:19
Mensagens: 1477
Localização: Porto Alegre - RS
Offline

okara wrote:
marcelomartins wrote:
DTH são uma boa maneira de abstrarir os Beans entre as camadas. E se o trabalho de gerenciar os HashMaps for bem feito (leia-se, o programador não precisa fazer nada) eu acho uma boa alternativa.


Tem como dar um exemplo disso ?

Não consegui pensar em nada simples para te exemplificar, então imagina no teu sistema web tu não quer que o JSP conheça tuas classes do dominio.

Então, antes de chegar no JSP uma classes de infraestrutura (framework) ve todos as classes que estão populadas e transforma para HashMaps. No JSP dá pra trabalhar como se fossem as classes no lugar dos HashMap, é transparente.

Não sei se fui bem claro, mas foi uma tentantiva.

Marcelo Martins
http://twitter.com/marcelomartins
Tudo que hoje eu realmente preciso saber, aprendi no jardim da infância.

okara
JavaTeenager

Membro desde: 16/05/2005 08:47:08
Mensagens: 152
Offline

Você transporta os objetos em forma de hashmaps ?
É isso ?
Mas que vantagem isso teria ?
Eu teria que distribuir os pojos (DTO's) do mesmo jeito.
Então é melhor transportar pojos.
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

A vanategm é que você nãp criaria uma classe DTO por objeto, mas a pergunta seria:

Mas porque usar um DTO neste caso em primeiro lugar?

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

http://fragmental.com.br/wiki/index.php?title=Evitando_VOs_e_BOs

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team