| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/06/2005 21:21:22
|
saoj
JWizard
![[Avatar]](/images/avatar/2e7ceec8361275c4e31fee5fe422740b.png)
Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline
|
Alguém aqui leu o artigo do Osvaldo sobre DAO com Caches ???
O Osvaldo escreve cada artigo fenomenal, muito bom mesmo. O cara quando fala sabe do que tá falando.
O artigo que ele escreveu sobre Threads e concorrência no Java 1.5 me deixou de queixo caído. Explicou algo difícil de uma maneira muito clara!
Esse artigo de DAO + Cache eu gostei também, só não entendi porque ele usa Proxies para generalizar o cache para todos os DAOs.
Legal que fica totalmente desacoplado, mas proxy não é algo muito simples nem muito performático.
A questão na minha cabeça é: Não é muito melhor usar herança ???? Uma classe pai que implementa o cache e os DAOs herdam dela. Evitamos assim a duplicação do código e obtemos o mesmo resultado.
Bom, não manjo muito de DAO, mas vou dar uma pesquisada melhor nisso para ver se dá para fazer com herança de forma mais clara.
|
Sergio A Oliveira Jr. - saoj
ExperiMENTA:
Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/06/2005 09:13:10
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
saoj wrote:Legal que fica totalmente desacoplado, mas proxy não é algo muito simples nem muito performático.
Simplicidade eh algo subjetivo, entao eu nao vou contestar essa, apesar de achar que dynamic proxies, quando bem aplicados, simplificam demais a vida, mas... de onde vc tirou que eles nao sao performaticos? Talvez vc tenha chegado a esta conclusao baseando-se em dados que eu provavelmente nao tenho. Voce poderia compartilha-los com a gente?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/06/2005 09:38:37
|
saoj
JWizard
![[Avatar]](/images/avatar/2e7ceec8361275c4e31fee5fe422740b.png)
Membro desde: 09/03/2004 23:34:46
Mensagens: 2667
Localização: Chicago, EUA
Offline
|
Realmente não tenho embassamento pra falar isso. Li em algum lugar a algum tempo atrás. Usar performance como desculpa para usar ou não usar alguma coisa é forçado mesmo. Só quando a diferença é muito grande. Uns ciclos de CPU a mais ou a menos acabam na maioria dos casos não fazendo diferença nenhuma.
Mas em ralação a clareza, acho a solução com herança melhor. Ou talvez só esteja sendo preconceituoso com os proxies, pois não estou acostumado com eles.
|
Sergio A Oliveira Jr. - saoj
ExperiMENTA:
Mentawai = http://www.mentaframework.org - Full-stack Java Web Framework com Configuracão Programática
MentaQueue = http://mentaqueue.soliveirajr.com - Queue de alta-performance.
MentaLog = http://mentalog.soliveirajr.com - Non-intrusive, fast, garbage-less, colored and straightforward logging
MentaBean = http://mentabean.soliveirajr.com - Tiny ORM with SQL Builder
MentaRegex = http://mentaregex.soliveirajr.com - Perl-style regex for Java.
MentaContainer = http://mentacontainer.soliveirajr.com - Straightforward IoC, DI e Auto-Wiring
Space4J = http://www.space4j.org - Banco-de-dados de Objetos em Memória
Options-Lib = https://github.com/saoj/options-lib - Ruby classes para ter acesso as opcoes do Yahoo Finance
Selleto = http://www.selleto.com.br
Flipinion = http://www.flipinion.com
Kawai = http://www.kawaiwiki.org
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/06/2005 12:20:00
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
Eu já acho a solução com proxies muito mais transparente e muito menos intrusiva.
O Spring AOP e o Hibernate são um dos melhores exemplos de que o uso de proxies é uma boa escolha
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/06/2005 15:19:00
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
Se o problema é a performance dos dynamic proxies, usa cglib.
|
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 |
|
|
 |
|
|