<?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: Síndrome de DAO</title>
	<atom:link href="http://gc.blog.br/2009/01/17/sindrome-de-dao/feed/" rel="self" type="application/rss+xml" />
	<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/</link>
	<description>Blog sobre desenvolvimento de software e tecnologia</description>
	<lastBuildDate>Sun, 16 Oct 2011 12:18:18 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Don</title>
		<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/comment-page-1/#comment-5670</link>
		<dc:creator>Don</dc:creator>
		<pubDate>Thu, 12 Feb 2009 23:55:22 +0000</pubDate>
		<guid isPermaLink="false">http://gc.blog.br/?p=197#comment-5670</guid>
		<description>Conhecidência ?
Sei....
Mas parabens ambos pelo bom trabalho.</description>
		<content:encoded><![CDATA[<p>Conhecidência ?<br />
Sei&#8230;.<br />
Mas parabens ambos pelo bom trabalho.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guilherme Chapiewski</title>
		<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/comment-page-1/#comment-5478</link>
		<dc:creator>Guilherme Chapiewski</dc:creator>
		<pubDate>Wed, 04 Feb 2009 18:48:16 +0000</pubDate>
		<guid isPermaLink="false">http://gc.blog.br/?p=197#comment-5478</guid>
		<description>@Sergio

Legal o post, mais legal ainda a coincidência :) Hahaha

[ ]s, gc</description>
		<content:encoded><![CDATA[<p>@Sergio</p>
<p>Legal o post, mais legal ainda a coincidência <img src='http://gc.blog.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Hahaha</p>
<p>[ ]s, gc</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sergio Taborda</title>
		<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/comment-page-1/#comment-5451</link>
		<dc:creator>Sergio Taborda</dc:creator>
		<pubDate>Tue, 03 Feb 2009 12:15:10 +0000</pubDate>
		<guid isPermaLink="false">http://gc.blog.br/?p=197#comment-5451</guid>
		<description>Concordo totalmente com o que disse. Aliás já falei a mesma coisa no meu blog , curiosamente com o mesmo titulo &gt;:&gt; , lol  

http://sergiotaborda.wordpress.com/2008/06/16/sindrome-de-dao/</description>
		<content:encoded><![CDATA[<p>Concordo totalmente com o que disse. Aliás já falei a mesma coisa no meu blog , curiosamente com o mesmo titulo &gt;:&gt; , lol  </p>
<p><a href="http://sergiotaborda.wordpress.com/2008/06/16/sindrome-de-dao/" rel="nofollow" onclick="urchinTracker('/outgoing/sergiotaborda.wordpress.com/2008/06/16/sindrome-de-dao/?referer=');">http://sergiotaborda.wordpress.com/2008/06/16/sindrome-de-dao/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guilherme Chapiewski</title>
		<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/comment-page-1/#comment-5314</link>
		<dc:creator>Guilherme Chapiewski</dc:creator>
		<pubDate>Wed, 28 Jan 2009 13:33:53 +0000</pubDate>
		<guid isPermaLink="false">http://gc.blog.br/?p=197#comment-5314</guid>
		<description>@Marcos Urata

Vou tentar fazer um post esclarecendo esse assunto. Enquanto isso dá uma lida aqui: http://nullability.org/?p=97</description>
		<content:encoded><![CDATA[<p>@Marcos Urata</p>
<p>Vou tentar fazer um post esclarecendo esse assunto. Enquanto isso dá uma lida aqui: <a href="http://nullability.org/?p=97" rel="nofollow" onclick="urchinTracker('/outgoing/nullability.org/?p=97&amp;referer=');">http://nullability.org/?p=97</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcos Urata</title>
		<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/comment-page-1/#comment-5280</link>
		<dc:creator>Marcos Urata</dc:creator>
		<pubDate>Mon, 26 Jan 2009 16:44:37 +0000</pubDate>
		<guid isPermaLink="false">http://gc.blog.br/?p=197#comment-5280</guid>
		<description>Olá Guilherme,

Eu acho que sou mais um dos que não entenderam a diferença prática entre um Repositório vs. DAO. Eu entendi a sua explicação qdo diz q o Reposítório faz parte do modelo de domínio, enquanto um DAO faz parte da infra-estrutura da aplicação.

Entretanto, um DAO ja é uma abstração do mecanismo de persistência. Os exemplos de código que andei vendo as pessoas &quot;aplicando&quot; esse conceito de repositório foi criando exatamente essa camada adicional para abstrair o próprio DAO. Ou seja, uma abstração da abstração.

Não consegui ver qual o real ganho dessa camada se a única coisa que esta sendo feito é criado mais um nível de indireção sem nenhum ganho concreto.

Enfim, se tiver algum trecho de código para postar demonstrando esses conceitos e diferenças, talvez fique mais fácil para mim e para outras pessoas que ainda não conseguiram visualizar bem a vantagem e a aplicação desse conceito.</description>
		<content:encoded><![CDATA[<p>Olá Guilherme,</p>
<p>Eu acho que sou mais um dos que não entenderam a diferença prática entre um Repositório vs. DAO. Eu entendi a sua explicação qdo diz q o Reposítório faz parte do modelo de domínio, enquanto um DAO faz parte da infra-estrutura da aplicação.</p>
<p>Entretanto, um DAO ja é uma abstração do mecanismo de persistência. Os exemplos de código que andei vendo as pessoas &#8220;aplicando&#8221; esse conceito de repositório foi criando exatamente essa camada adicional para abstrair o próprio DAO. Ou seja, uma abstração da abstração.</p>
<p>Não consegui ver qual o real ganho dessa camada se a única coisa que esta sendo feito é criado mais um nível de indireção sem nenhum ganho concreto.</p>
<p>Enfim, se tiver algum trecho de código para postar demonstrando esses conceitos e diferenças, talvez fique mais fácil para mim e para outras pessoas que ainda não conseguiram visualizar bem a vantagem e a aplicação desse conceito.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eduardo Amuri</title>
		<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/comment-page-1/#comment-5271</link>
		<dc:creator>Eduardo Amuri</dc:creator>
		<pubDate>Mon, 26 Jan 2009 00:53:16 +0000</pubDate>
		<guid isPermaLink="false">http://gc.blog.br/?p=197#comment-5271</guid>
		<description>Acho que mais do que elucidar as diferenças entre um e outro (DAO e Repository) vale a pena descrever casos em que entraria o uso de um, de outro, ou de ambos. O tratamento &quot;abstrato&quot; dado no post é ótimo, porém um exemplo deixaria tudo mais claro. 

De qualquer forma, parabens pelo o trabalho. O blog é excelente.

Abraço,
Eduardo Amuri</description>
		<content:encoded><![CDATA[<p>Acho que mais do que elucidar as diferenças entre um e outro (DAO e Repository) vale a pena descrever casos em que entraria o uso de um, de outro, ou de ambos. O tratamento &#8220;abstrato&#8221; dado no post é ótimo, porém um exemplo deixaria tudo mais claro. </p>
<p>De qualquer forma, parabens pelo o trabalho. O blog é excelente.</p>
<p>Abraço,<br />
Eduardo Amuri</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rodrigo Panachi</title>
		<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/comment-page-1/#comment-5241</link>
		<dc:creator>Rodrigo Panachi</dc:creator>
		<pubDate>Fri, 23 Jan 2009 20:37:45 +0000</pubDate>
		<guid isPermaLink="false">http://gc.blog.br/?p=197#comment-5241</guid>
		<description>Olá Guilherme,

Muito bom seu post fazendo essa distinção de DAO sendo objetos de infra-estrutura e Repository sendo objetos do domínio.

Erros como este que você citou, de renomear os DAO&#039;s, são muito comuns, pois mesmo o Livro do Eric Evans não explica a diferença de DAO x Repositóry na prática, no código. Então fica a sugestão caso queira publicar um trecho de código ou uma modelagem, para que a gente possa entender melhor essa diferença na prática!

[]&#039;s</description>
		<content:encoded><![CDATA[<p>Olá Guilherme,</p>
<p>Muito bom seu post fazendo essa distinção de DAO sendo objetos de infra-estrutura e Repository sendo objetos do domínio.</p>
<p>Erros como este que você citou, de renomear os DAO&#8217;s, são muito comuns, pois mesmo o Livro do Eric Evans não explica a diferença de DAO x Repositóry na prática, no código. Então fica a sugestão caso queira publicar um trecho de código ou uma modelagem, para que a gente possa entender melhor essa diferença na prática!</p>
<p>[]&#8217;s</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rodrigo</title>
		<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/comment-page-1/#comment-5240</link>
		<dc:creator>Rodrigo</dc:creator>
		<pubDate>Fri, 23 Jan 2009 17:56:21 +0000</pubDate>
		<guid isPermaLink="false">http://gc.blog.br/?p=197#comment-5240</guid>
		<description>Excelente post (acabei de descobrir esse blog). Já adicionei no Google Reader :)

Eu li o Applying DDD do Jimmy Nilsson mas achei meio confuso; parece um blog post de 500 páginas. Eu aproveitei bem mais o novo do Dino Esposito (http://www.amazon.com/Microsoft%C2%AE-NET-Architecting-Applications-PRO-Developer/dp/073562609X?tag=iheartworld-20). Outra referência legal (e gratuita) é o DDD Quickly (http://www.infoq.com/minibooks/domain-driven-design-quickly)

Sobre DAO x Repository, eu gosto de pensar em repositórios como uma forma de oferecer uma API limpa e homogênea para as camadas de cima. Mas também acho que em muitos casos pode ser exagero, aplicações simples não teriam problema nenhum em usar os bons e velhos active records e coisas do genêro. Vejo muita gente em blogs e lá no stackoverflow.com recomendando que se use repositórios em aplicação com 3 classes e 3 tabelas, meio demais né.</description>
		<content:encoded><![CDATA[<p>Excelente post (acabei de descobrir esse blog). Já adicionei no Google Reader <img src='http://gc.blog.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Eu li o Applying DDD do Jimmy Nilsson mas achei meio confuso; parece um blog post de 500 páginas. Eu aproveitei bem mais o novo do Dino Esposito (<a href="http://www.amazon.com/Microsoft%C2%AE-NET-Architecting-Applications-PRO-Developer/dp/073562609X?tag=iheartworld-20)" rel="nofollow" onclick="urchinTracker('/outgoing/www.amazon.com/Microsoft_C2_AE-NET-Architecting-Applications-PRO-Developer/dp/073562609X?tag=iheartworld-20&amp;referer=');">http://www.amazon.com/Microsoft%C2%AE-NET-Architecting-Applications-PRO-Developer/dp/073562609X?tag=iheartworld-20)</a>. Outra referência legal (e gratuita) é o DDD Quickly (<a href="http://www.infoq.com/minibooks/domain-driven-design-quickly" rel="nofollow" onclick="urchinTracker('/outgoing/www.infoq.com/minibooks/domain-driven-design-quickly?referer=');">http://www.infoq.com/minibooks/domain-driven-design-quickly</a>)</p>
<p>Sobre DAO x Repository, eu gosto de pensar em repositórios como uma forma de oferecer uma API limpa e homogênea para as camadas de cima. Mas também acho que em muitos casos pode ser exagero, aplicações simples não teriam problema nenhum em usar os bons e velhos active records e coisas do genêro. Vejo muita gente em blogs e lá no stackoverflow.com recomendando que se use repositórios em aplicação com 3 classes e 3 tabelas, meio demais né.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: André Faria Gomes</title>
		<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/comment-page-1/#comment-5172</link>
		<dc:creator>André Faria Gomes</dc:creator>
		<pubDate>Mon, 19 Jan 2009 23:43:34 +0000</pubDate>
		<guid isPermaLink="false">http://gc.blog.br/?p=197#comment-5172</guid>
		<description>Fala GC.
Ótimo post. Conseguiu enfatizar bem que &quot;toda a diferença está na semântica.&quot;

Abraço</description>
		<content:encoded><![CDATA[<p>Fala GC.<br />
Ótimo post. Conseguiu enfatizar bem que &#8220;toda a diferença está na semântica.&#8221;</p>
<p>Abraço</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guilherme Chapiewski</title>
		<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/comment-page-1/#comment-5171</link>
		<dc:creator>Guilherme Chapiewski</dc:creator>
		<pubDate>Mon, 19 Jan 2009 23:22:18 +0000</pubDate>
		<guid isPermaLink="false">http://gc.blog.br/?p=197#comment-5171</guid>
		<description>@Marcelo

Repository é isso que você leu no post, um padrão de Domain-Driven Design que esabelece um componente dentro do modelo de domínio para trabalhar com persistência de dados.

Já o Business Object é um padrão J2EE que teoricamente serve para &quot;evitar duplicação de regras de negócios&quot;. Os BOs são objetos que no fundo só servem para passar objetos anêmicos de um lado pro outro (os Transfer Objects). Essa abordagem está cada vez mais em desuso e não faz sentido em DDD. Mais detalhes aqui: &lt;a href=&quot;http://www.corej2eepatterns.com/Patterns2ndEd/BusinessObject.htm&quot; rel=&quot;nofollow&quot;&gt;http://www.corej2eepatterns.com/Patterns2ndEd/BusinessObject.htm&lt;/a&gt;

[ ]s, gc</description>
		<content:encoded><![CDATA[<p>@Marcelo</p>
<p>Repository é isso que você leu no post, um padrão de Domain-Driven Design que esabelece um componente dentro do modelo de domínio para trabalhar com persistência de dados.</p>
<p>Já o Business Object é um padrão J2EE que teoricamente serve para &#8220;evitar duplicação de regras de negócios&#8221;. Os BOs são objetos que no fundo só servem para passar objetos anêmicos de um lado pro outro (os Transfer Objects). Essa abordagem está cada vez mais em desuso e não faz sentido em DDD. Mais detalhes aqui: <a href="http://www.corej2eepatterns.com/Patterns2ndEd/BusinessObject.htm" rel="nofollow" onclick="urchinTracker('/outgoing/www.corej2eepatterns.com/Patterns2ndEd/BusinessObject.htm?referer=');">http://www.corej2eepatterns.com/Patterns2ndEd/BusinessObject.htm</a></p>
<p>[ ]s, gc</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guilherme Chapiewski</title>
		<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/comment-page-1/#comment-5170</link>
		<dc:creator>Guilherme Chapiewski</dc:creator>
		<pubDate>Mon, 19 Jan 2009 23:15:15 +0000</pubDate>
		<guid isPermaLink="false">http://gc.blog.br/?p=197#comment-5170</guid>
		<description>@Bruno

Eu nunca lí não mas já me falaram que o livro Applying Domain-Driven Design (&lt;a href=&quot;http://www.amazon.com/Applying-Domain-Driven-Design-Patterns-Examples/dp/0321268202/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1232406832&amp;sr=1-1&quot; rel=&quot;nofollow&quot;&gt;http://www.amazon.com/Applying-Domain-Driven-Design-Patterns-Examples/dp/0321268202/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1232406832&amp;sr=1-1&lt;/a&gt;) tem bastante exemplos. Os códigos são em C#, mas quem entende Java não deve ter problemas para entender.

[ ]s, gc</description>
		<content:encoded><![CDATA[<p>@Bruno</p>
<p>Eu nunca lí não mas já me falaram que o livro Applying Domain-Driven Design (<a href="http://www.amazon.com/Applying-Domain-Driven-Design-Patterns-Examples/dp/0321268202/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1232406832&amp;sr=1-1" rel="nofollow" onclick="urchinTracker('/outgoing/www.amazon.com/Applying-Domain-Driven-Design-Patterns-Examples/dp/0321268202/ref=sr_1_1?ie=UTF8_amp_s=books_amp_qid=1232406832_amp_sr=1-1&amp;referer=');">http://www.amazon.com/Applying-Domain-Driven-Design-Patterns-Examples/dp/0321268202/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1232406832&amp;sr=1-1</a>) tem bastante exemplos. Os códigos são em C#, mas quem entende Java não deve ter problemas para entender.</p>
<p>[ ]s, gc</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcelo</title>
		<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/comment-page-1/#comment-5149</link>
		<dc:creator>Marcelo</dc:creator>
		<pubDate>Mon, 19 Jan 2009 11:50:20 +0000</pubDate>
		<guid isPermaLink="false">http://gc.blog.br/?p=197#comment-5149</guid>
		<description>Qual a diferenca entre Repository e Business Object?</description>
		<content:encoded><![CDATA[<p>Qual a diferenca entre Repository e Business Object?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bruno</title>
		<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/comment-page-1/#comment-5146</link>
		<dc:creator>Bruno</dc:creator>
		<pubDate>Mon, 19 Jan 2009 10:42:04 +0000</pubDate>
		<guid isPermaLink="false">http://gc.blog.br/?p=197#comment-5146</guid>
		<description>Show de bola Chapiewski, realmente existe um mistura grande de conceitos, o shoes um tempaço atrás publicou um artigo em revista com exemplos de repository, daos..e etc, bem bacana.
Acredito que o que falte no livro do Evans, apesar de ser muito bom, seja mais exemplos de código.</description>
		<content:encoded><![CDATA[<p>Show de bola Chapiewski, realmente existe um mistura grande de conceitos, o shoes um tempaço atrás publicou um artigo em revista com exemplos de repository, daos..e etc, bem bacana.<br />
Acredito que o que falte no livro do Evans, apesar de ser muito bom, seja mais exemplos de código.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rodrigo Pinto</title>
		<link>http://gc.blog.br/2009/01/17/sindrome-de-dao/comment-page-1/#comment-5130</link>
		<dc:creator>Rodrigo Pinto</dc:creator>
		<pubDate>Mon, 19 Jan 2009 00:38:07 +0000</pubDate>
		<guid isPermaLink="false">http://gc.blog.br/?p=197#comment-5130</guid>
		<description>Excelente post. 
É um assunto já batido como você disse , porém mal entendido. Tenho estudado-o bastante ultimamente e noto que as pessoas tem uma real necessidade de &quot;reaculturamento&quot;, em entender melhor a divisão das camadas(arquitetura). Elas se apegam a algum tipo de MVC que é ensinado onde só existe o DAO, ou então argumentam - o porque de mais uma &quot;camada&quot; sem necessidade - sem enteder que não existe essa tal camada.
Parabéns, e sempre é bom bater na mesma tecla, quando ela está falhando.</description>
		<content:encoded><![CDATA[<p>Excelente post.<br />
É um assunto já batido como você disse , porém mal entendido. Tenho estudado-o bastante ultimamente e noto que as pessoas tem uma real necessidade de &#8220;reaculturamento&#8221;, em entender melhor a divisão das camadas(arquitetura). Elas se apegam a algum tipo de MVC que é ensinado onde só existe o DAO, ou então argumentam &#8211; o porque de mais uma &#8220;camada&#8221; sem necessidade &#8211; sem enteder que não existe essa tal camada.<br />
Parabéns, e sempre é bom bater na mesma tecla, quando ela está falhando.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

