Artigo sobre DAO + Cache na Java Magazine  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
saoj
JWizard
[Avatar]

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


[Email] [WWW]
cv
Moderador
[Avatar]

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?
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
saoj
JWizard
[Avatar]

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


[Email] [WWW]
Mauricio Linhares
Moderador
[Avatar]

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

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
[ICQ]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team