<?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: Como não aprender orientação a objetos: Herança</title>
	<atom:link href="http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/</link>
	<description>blog dos desenvolvedores da Caelum</description>
	<pubDate>Mon, 05 Jan 2009 21:44:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: &#187; Effective Java: segunda edição &#187; blog.caelum.com.br</title>
		<link>http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/comment-page-1/#comment-45258</link>
		<dc:creator>&#187; Effective Java: segunda edição &#187; blog.caelum.com.br</dc:creator>
		<pubDate>Fri, 25 Jul 2008 11:56:50 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/#comment-45258</guid>
		<description>[...] é um tópico que já foi discutido anteriormente nesse post. O fato é o seguinte: é muito fácil usar herança de maneira errada, como é o caso de Stack [...]</description>
		<content:encoded><![CDATA[<p>[...] é um tópico que já foi discutido anteriormente nesse post. O fato é o seguinte: é muito fácil usar herança de maneira errada, como é o caso de Stack [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paulo Silveira</title>
		<link>http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/comment-page-1/#comment-35923</link>
		<dc:creator>Paulo Silveira</dc:creator>
		<pubDate>Wed, 16 Apr 2008 02:07:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/#comment-35923</guid>
		<description>E aqui tem uma discussão atual no GUJ sobre o assunto:
http://guj.com.br/posts/list/87814.java</description>
		<content:encoded><![CDATA[<p>E aqui tem uma discussão atual no GUJ sobre o assunto:<br />
<a href="http://guj.com.br/posts/list/87814.java" rel="nofollow">http://guj.com.br/posts/list/87814.java</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reinaldo de Carvalho</title>
		<link>http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/comment-page-1/#comment-24235</link>
		<dc:creator>Reinaldo de Carvalho</dc:creator>
		<pubDate>Sat, 01 Dec 2007 01:46:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/#comment-24235</guid>
		<description>Será que há a possibilidade de se extinguir com herança em Java? Já que traz tantos males, como a quebra de encapsulamento e dificuldade de manutenção, seria bom que a possibilidade de usar herança nem existisse!
Viva à &lt;b&gt;Interface!&lt;/b&gt;</description>
		<content:encoded><![CDATA[<p>Será que há a possibilidade de se extinguir com herança em Java? Já que traz tantos males, como a quebra de encapsulamento e dificuldade de manutenção, seria bom que a possibilidade de usar herança nem existisse!<br />
Viva à <b>Interface!</b></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paulo Silveira</title>
		<link>http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/comment-page-1/#comment-19026</link>
		<dc:creator>Paulo Silveira</dc:creator>
		<pubDate>Sun, 09 Sep 2007 17:13:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/#comment-19026</guid>
		<description>Aqui tem dois excelentes entrevistas que abordam a questão.

Uma com Eric Gamma:
http://www.artima.com/lejava/articles/designprinciples.html

Outra com James Gosling:
http://www.artima.com/intv/gosling3P.html</description>
		<content:encoded><![CDATA[<p>Aqui tem dois excelentes entrevistas que abordam a questão.</p>
<p>Uma com Eric Gamma:<br />
<a href="http://www.artima.com/lejava/articles/designprinciples.html" rel="nofollow">http://www.artima.com/lejava/articles/designprinciples.html</a></p>
<p>Outra com James Gosling:<br />
<a href="http://www.artima.com/intv/gosling3P.html" rel="nofollow">http://www.artima.com/intv/gosling3P.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: blog.caelum.com.br &#187; Como não aprender Orientação a Objetos: relacionamento bidirecional</title>
		<link>http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/comment-page-1/#comment-5113</link>
		<dc:creator>blog.caelum.com.br &#187; Como não aprender Orientação a Objetos: relacionamento bidirecional</dc:creator>
		<pubDate>Wed, 28 Mar 2007 06:42:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/#comment-5113</guid>
		<description>[...] Isso tudo pode ser muito mais complicado em relacionamentos 1:N e N:M. O conselho é tentar evitar o relacionamento bidirecional, e nunca cria-lo sem uma real necessidade, assim como já comentamos sobre evitar herança e evitar getters e setters. [...]</description>
		<content:encoded><![CDATA[<p>[...] Isso tudo pode ser muito mais complicado em relacionamentos 1:N e N:M. O conselho é tentar evitar o relacionamento bidirecional, e nunca cria-lo sem uma real necessidade, assim como já comentamos sobre evitar herança e evitar getters e setters. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: blog.caelum.com.br &#187; JPA com Hibernate: Herança e Mapeamentos</title>
		<link>http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/comment-page-1/#comment-3218</link>
		<dc:creator>blog.caelum.com.br &#187; JPA com Hibernate: Herança e Mapeamentos</dc:creator>
		<pubDate>Sun, 04 Mar 2007 07:25:16 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/#comment-3218</guid>
		<description>[...] Aqui na Caelum, conforme discutido anteriormente, usamos herança com muito critério. Herança na JPA é mapeada com @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) por padrão, isto é, ele vai utilizar uma única tabela para guardar todos os dados de todas as classes filhas: não há normalização e uma coluna (o discriminator, por default DTYPE no Hibernate) será utilizada para distinguir entre as possíveis subclasses. [...]</description>
		<content:encoded><![CDATA[<p>[...] Aqui na Caelum, conforme discutido anteriormente, usamos herança com muito critério. Herança na JPA é mapeada com @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) por padrão, isto é, ele vai utilizar uma única tabela para guardar todos os dados de todas as classes filhas: não há normalização e uma coluna (o discriminator, por default DTYPE no Hibernate) será utilizada para distinguir entre as possíveis subclasses. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tiago Silveira</title>
		<link>http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/comment-page-1/#comment-213</link>
		<dc:creator>Tiago Silveira</dc:creator>
		<pubDate>Mon, 23 Oct 2006 00:52:16 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/#comment-213</guid>
		<description>Ótimo post! Tenho dois comentários a fazer:

1. Hoje em dia, quando eu estou modelando, eu uso muito o Princípio da Substituição de Liskov (http://c2.com/cgi/wiki?LiskovSubstitutionPrinciple), que basicamente diz que um tipo S é subtipo de um tipo T se eu jogo uma instância de S numa variável declarada T e ninguém percebe, no sentido de que o contrato (pré-condições, pós-condições e efeitos colaterais de cada método) permanece inalterado.

2. Tem uma galera tentando construir uma especificação e uma implementação de referência pra arquitetura REST que pode substituir os servlets no futuro: www.restlet.org.</description>
		<content:encoded><![CDATA[<p>Ótimo post! Tenho dois comentários a fazer:</p>
<p>1. Hoje em dia, quando eu estou modelando, eu uso muito o Princípio da Substituição de Liskov (http://c2.com/cgi/wiki?LiskovSubstitutionPrinciple), que basicamente diz que um tipo S é subtipo de um tipo T se eu jogo uma instância de S numa variável declarada T e ninguém percebe, no sentido de que o contrato (pré-condições, pós-condições e efeitos colaterais de cada método) permanece inalterado.</p>
<p>2. Tem uma galera tentando construir uma especificação e uma implementação de referência pra arquitetura REST que pode substituir os servlets no futuro: <a href="http://www.restlet.org" rel="nofollow">http://www.restlet.org</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: soro</title>
		<link>http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/comment-page-1/#comment-204</link>
		<dc:creator>soro</dc:creator>
		<pubDate>Sun, 22 Oct 2006 05:40:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/14/como-nao-aprender-orientacao-a-objetos-heranca/#comment-204</guid>
		<description>Por que não pode fazer override d métodos q não sejam abstratos?</description>
		<content:encoded><![CDATA[<p>Por que não pode fazer override d métodos q não sejam abstratos?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
