

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: DAOs e abstraction leakage</title>
	<atom:link href="http://www.kumpera.net/blog/index.php/2007/04/10/daos-e-abstraction-leakage/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kumpera.net/blog/index.php/2007/04/10/daos-e-abstraction-leakage/</link>
	<description>Meus achados sobre tecnologia</description>
	<lastBuildDate>Thu, 01 Dec 2011 01:51:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: kumpera</title>
		<link>http://www.kumpera.net/blog/index.php/2007/04/10/daos-e-abstraction-leakage/comment-page-1/#comment-8760</link>
		<dc:creator>kumpera</dc:creator>
		<pubDate>Wed, 11 Apr 2007 02:42:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/04/10/daos-e-abstraction-leakage/#comment-8760</guid>
		<description>Bruno, concordo com o Diego que com DAO é dificil definir uma interface capaz de funcionar bem com banco hierárquico e relacional. Provavelmente seria necessario usar somente recursos comuns, o mínimo múltiplo comum a ambas tecnoligias.

A parte que costuma dar mais problemas é busca, então em vez de definir a métodos com critérios explícitos, utilizando uma abstração semelhante a Criteria do Hibernate, por exemplo, seria possivel transferir para a implementação do DAO boa parte da decisão de como recuperar as informações.</description>
		<content:encoded><![CDATA[<p>Bruno, concordo com o Diego que com DAO é dificil definir uma interface capaz de funcionar bem com banco hierárquico e relacional. Provavelmente seria necessario usar somente recursos comuns, o mínimo múltiplo comum a ambas tecnoligias.</p>
<p>A parte que costuma dar mais problemas é busca, então em vez de definir a métodos com critérios explícitos, utilizando uma abstração semelhante a Criteria do Hibernate, por exemplo, seria possivel transferir para a implementação do DAO boa parte da decisão de como recuperar as informações.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Diego Pires Plentz</title>
		<link>http://www.kumpera.net/blog/index.php/2007/04/10/daos-e-abstraction-leakage/comment-page-1/#comment-8754</link>
		<dc:creator>Diego Pires Plentz</dc:creator>
		<pubDate>Tue, 10 Apr 2007 23:33:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/04/10/daos-e-abstraction-leakage/#comment-8754</guid>
		<description>Bruno, uma solução que atenda 100% à todos casos não existe, pois como no exemplo de alteração de perfomance que o Rodrigo citou, fica realmente inviável manter a mesma capacidade de consultas.

Porém, como no caso dos recursos do Hibernate, como o lazy-loading e flush-on-commit, esses sim podem ser evitados, mas devemos avaliar muito bem antes de decidir por não usar tais recursos, uma vez que eles são muito úteis e que muito raramente alterar a forma de persistência de um sistema será uma realidade.</description>
		<content:encoded><![CDATA[<p>Bruno, uma solução que atenda 100% à todos casos não existe, pois como no exemplo de alteração de perfomance que o Rodrigo citou, fica realmente inviável manter a mesma capacidade de consultas.</p>
<p>Porém, como no caso dos recursos do Hibernate, como o lazy-loading e flush-on-commit, esses sim podem ser evitados, mas devemos avaliar muito bem antes de decidir por não usar tais recursos, uma vez que eles são muito úteis e que muito raramente alterar a forma de persistência de um sistema será uma realidade.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bruno</title>
		<link>http://www.kumpera.net/blog/index.php/2007/04/10/daos-e-abstraction-leakage/comment-page-1/#comment-8742</link>
		<dc:creator>Bruno</dc:creator>
		<pubDate>Tue, 10 Apr 2007 18:55:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/04/10/daos-e-abstraction-leakage/#comment-8742</guid>
		<description>Rodrigo,

já trabalhei em um projeto onde a arquitetura usava DAOs para abstrair a persistência. No caso, a promessa era a de haver uma implementação específica para o banco de dados hierárquico e, futuramente, ser possível trocá-la implementando uma relacional. Eu me questionava se isso faria sentido uma vez que todo o projeto era &quot;otimizado&quot; para extrair vantagens do banco hierárquico.

Minha pergunta é: há alguma solução, mesmo sem utilizar DAOs?

Abs.</description>
		<content:encoded><![CDATA[<p>Rodrigo,</p>
<p>já trabalhei em um projeto onde a arquitetura usava DAOs para abstrair a persistência. No caso, a promessa era a de haver uma implementação específica para o banco de dados hierárquico e, futuramente, ser possível trocá-la implementando uma relacional. Eu me questionava se isso faria sentido uma vez que todo o projeto era &#8220;otimizado&#8221; para extrair vantagens do banco hierárquico.</p>
<p>Minha pergunta é: há alguma solução, mesmo sem utilizar DAOs?</p>
<p>Abs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: felipe cruz</title>
		<link>http://www.kumpera.net/blog/index.php/2007/04/10/daos-e-abstraction-leakage/comment-page-1/#comment-8741</link>
		<dc:creator>felipe cruz</dc:creator>
		<pubDate>Tue, 10 Apr 2007 18:37:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/04/10/daos-e-abstraction-leakage/#comment-8741</guid>
		<description>Opa!

Concordo com você.. mas me lembro que antigamente(antes de o hibernate ser famoso) muito material na internet nos fazia acreditar que o DAO servia para abstrair a implementação de SGBD(quase não se levava em consideração formas de persistência alternativas como ldap ou arquivo texto), tanto que eram utilizadas aquelas fabricas que nos retornavam aqueles OracleDAOImpl ou SqlServerDAOImpl nos exemplos clássicos de DAO que achavamos no google.

Na verdade muita gente se deixou levar por esse mito de esconder a implementação, parcialmente verdadeiro, já que na verdade poderia esconder a implementação desde que as implementações todas fossem JDBC..

Como você disse, DAO abstrai o mecanismo de persistencia mas não suas capacidades..</description>
		<content:encoded><![CDATA[<p>Opa!</p>
<p>Concordo com você.. mas me lembro que antigamente(antes de o hibernate ser famoso) muito material na internet nos fazia acreditar que o DAO servia para abstrair a implementação de SGBD(quase não se levava em consideração formas de persistência alternativas como ldap ou arquivo texto), tanto que eram utilizadas aquelas fabricas que nos retornavam aqueles OracleDAOImpl ou SqlServerDAOImpl nos exemplos clássicos de DAO que achavamos no google.</p>
<p>Na verdade muita gente se deixou levar por esse mito de esconder a implementação, parcialmente verdadeiro, já que na verdade poderia esconder a implementação desde que as implementações todas fossem JDBC..</p>
<p>Como você disse, DAO abstrai o mecanismo de persistencia mas não suas capacidades..</p>
]]></content:encoded>
	</item>
</channel>
</rss>

