<?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"
	>
<channel>
	<title>Comments on: Objetos não são atributos + funções</title>
	<atom:link href="http://blog.fragmental.com.br/2008/05/18/objetos-nao-sao-atributos-funcoes/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fragmental.com.br/2008/05/18/objetos-nao-sao-atributos-funcoes/</link>
	<description>Software e Batatas</description>
	<pubDate>Wed, 20 Aug 2008 13:43:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Falhas no ensino de Orienta&#231;&#227;o a Objetos &#171; DevBlogs</title>
		<link>http://blog.fragmental.com.br/2008/05/18/objetos-nao-sao-atributos-funcoes/#comment-94283</link>
		<dc:creator>Falhas no ensino de Orienta&#231;&#227;o a Objetos &#171; DevBlogs</dc:creator>
		<pubDate>Sun, 29 Jun 2008 12:30:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fragmental.com.br/?p=465#comment-94283</guid>
		<description>[...] post Objetos não são atributos + funções o autor apresenta de uma forma bastante humorada os grandes problemas do ensino da Orientação a [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] post Objetos não são atributos + funções o autor apresenta de uma forma bastante humorada os grandes problemas do ensino da Orientação a [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fluent Interface &#171; Meu manifesto!</title>
		<link>http://blog.fragmental.com.br/2008/05/18/objetos-nao-sao-atributos-funcoes/#comment-93873</link>
		<dc:creator>Fluent Interface &#171; Meu manifesto!</dc:creator>
		<pubDate>Mon, 16 Jun 2008 03:37:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fragmental.com.br/?p=465#comment-93873</guid>
		<description>[...] Não devemos pensar em uma classe como uma mera coleção de atributos. Objetos também não são atributos mais funções, e sim estado + comportamento. O Phillip Calçado explica muito bem isso! Refatorando a linha 2 [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Não devemos pensar em uma classe como uma mera coleção de atributos. Objetos também não são atributos mais funções, e sim estado + comportamento. O Phillip Calçado explica muito bem isso! Refatorando a linha 2 [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Phillip Calçado</title>
		<link>http://blog.fragmental.com.br/2008/05/18/objetos-nao-sao-atributos-funcoes/#comment-93281</link>
		<dc:creator>Phillip Calçado</dc:creator>
		<pubDate>Wed, 28 May 2008 13:24:45 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fragmental.com.br/?p=465#comment-93281</guid>
		<description>@Anderson

Orientação a Objetos em si não fala de sistemas distribuídos, ou persistência, ou segurança, ou qualquer coisa parecida. Dado isso você tem que pensar que não pode expôr objetos, tem que expôr componentes.

EJBs, em chamadas remotas, são componentes e não objetos.</description>
		<content:encoded><![CDATA[<p>@Anderson</p>
<p>Orientação a Objetos em si não fala de sistemas distribuídos, ou persistência, ou segurança, ou qualquer coisa parecida. Dado isso você tem que pensar que não pode expôr objetos, tem que expôr componentes.</p>
<p>EJBs, em chamadas remotas, são componentes e não objetos.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anderson</title>
		<link>http://blog.fragmental.com.br/2008/05/18/objetos-nao-sao-atributos-funcoes/#comment-93280</link>
		<dc:creator>Anderson</dc:creator>
		<pubDate>Wed, 28 May 2008 13:15:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fragmental.com.br/?p=465#comment-93280</guid>
		<description>Shoes, concordo que os objetos precisam ter dados + comportamento. Mas fico um pouco confuso na hora de projetar sistemas distribuídos. Como fica esta arquitetura em um sistema distribuído, com EJB's, com um framework como o  JBoss Seam, onde o objeto praticamente só tem dados e o comportamento e as regras de negócio ficam no Session Bean, como um Business Object?</description>
		<content:encoded><![CDATA[<p>Shoes, concordo que os objetos precisam ter dados + comportamento. Mas fico um pouco confuso na hora de projetar sistemas distribuídos. Como fica esta arquitetura em um sistema distribuído, com EJB&#8217;s, com um framework como o  JBoss Seam, onde o objeto praticamente só tem dados e o comportamento e as regras de negócio ficam no Session Bean, como um Business Object?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fragmental &#187; Blog Archive &#187; Nem só de troca de mensagens vivem os objetos</title>
		<link>http://blog.fragmental.com.br/2008/05/18/objetos-nao-sao-atributos-funcoes/#comment-93209</link>
		<dc:creator>Fragmental &#187; Blog Archive &#187; Nem só de troca de mensagens vivem os objetos</dc:creator>
		<pubDate>Sat, 24 May 2008 17:06:53 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fragmental.com.br/?p=465#comment-93209</guid>
		<description>[...] que boa parte das dúvidas quanto ao meu post sobre como objetos não possuem atributos se deve ao fato das pessoas não terem geralmente um conhecimento real sobre o que é troca de [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] que boa parte das dúvidas quanto ao meu post sobre como objetos não possuem atributos se deve ao fato das pessoas não terem geralmente um conhecimento real sobre o que é troca de [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Objetos = estado + comportamentos &#171; TJRN Developers</title>
		<link>http://blog.fragmental.com.br/2008/05/18/objetos-nao-sao-atributos-funcoes/#comment-92822</link>
		<dc:creator>Objetos = estado + comportamentos &#171; TJRN Developers</dc:creator>
		<pubDate>Thu, 22 May 2008 23:40:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fragmental.com.br/?p=465#comment-92822</guid>
		<description>[...] Objetos = estado +&#160;comportamentos  Postado no 22, Maio, 2008 de samuelvalerio   OO de verdade! [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Objetos = estado +&nbsp;comportamentos  Postado no 22, Maio, 2008 de samuelvalerio   OO de verdade! [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Diego Carrion</title>
		<link>http://blog.fragmental.com.br/2008/05/18/objetos-nao-sao-atributos-funcoes/#comment-92720</link>
		<dc:creator>Diego Carrion</dc:creator>
		<pubDate>Wed, 21 May 2008 12:19:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fragmental.com.br/?p=465#comment-92720</guid>
		<description>Acho que entendi Shoes, obrigado pela explicação, ao parecer eu estava modelando de mais.

De qualquer modo se um dia desses você fizer um post mais detalhado sobre esse assunto acho que seria muito legal.

Ate mais.</description>
		<content:encoded><![CDATA[<p>Acho que entendi Shoes, obrigado pela explicação, ao parecer eu estava modelando de mais.</p>
<p>De qualquer modo se um dia desses você fizer um post mais detalhado sobre esse assunto acho que seria muito legal.</p>
<p>Ate mais.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Phillip Calçado</title>
		<link>http://blog.fragmental.com.br/2008/05/18/objetos-nao-sao-atributos-funcoes/#comment-92692</link>
		<dc:creator>Phillip Calçado</dc:creator>
		<pubDate>Tue, 20 May 2008 23:10:19 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fragmental.com.br/?p=465#comment-92692</guid>
		<description>Diego,

Antes de mais nada este tópico não é sobre Domain-Driven Design, mas ainda que fosse você precisa identificar o que é domínio e o que é processo atual. O objetivo de DDD ou OO não é modelar o mundo exatamente como ele é e sim modelar o domínio, o que é algo bem diferente.

No domínio todas as inormações que dizem se o pedido foi cancelado ou não estão dentro dele mesmo. O pedido não pensa e nem a pessoa neste caso. O pedido contêm a informação necessária, a pessoa apenas olha o pedido e te dá a informação dele. 

A maioria dos papéis "burros" como olhar para uma folha de papel e ver se tem um carimbo REJEITADO não é modelada diretamente, apenas as tomadas de decisão. O papel da "pessoa que te diz isso" não é exercido por uma classe que extrai essa informação e sim por um intermediário como uma interface gráfica que exibe o status do pedido. 

Ainda assim, mesmo que você resolva modelar o papel das "pessoas" no processo como classes (fugindo de DDD) isso não te impede de usar objetos que recebem mensagens.</description>
		<content:encoded><![CDATA[<p>Diego,</p>
<p>Antes de mais nada este tópico não é sobre Domain-Driven Design, mas ainda que fosse você precisa identificar o que é domínio e o que é processo atual. O objetivo de DDD ou OO não é modelar o mundo exatamente como ele é e sim modelar o domínio, o que é algo bem diferente.</p>
<p>No domínio todas as inormações que dizem se o pedido foi cancelado ou não estão dentro dele mesmo. O pedido não pensa e nem a pessoa neste caso. O pedido contêm a informação necessária, a pessoa apenas olha o pedido e te dá a informação dele. </p>
<p>A maioria dos papéis &#8220;burros&#8221; como olhar para uma folha de papel e ver se tem um carimbo REJEITADO não é modelada diretamente, apenas as tomadas de decisão. O papel da &#8220;pessoa que te diz isso&#8221; não é exercido por uma classe que extrai essa informação e sim por um intermediário como uma interface gráfica que exibe o status do pedido. </p>
<p>Ainda assim, mesmo que você resolva modelar o papel das &#8220;pessoas&#8221; no processo como classes (fugindo de DDD) isso não te impede de usar objetos que recebem mensagens.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Diego Carrion</title>
		<link>http://blog.fragmental.com.br/2008/05/18/objetos-nao-sao-atributos-funcoes/#comment-92690</link>
		<dc:creator>Diego Carrion</dc:creator>
		<pubDate>Tue, 20 May 2008 21:27:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fragmental.com.br/?p=465#comment-92690</guid>
		<description>Então Diogo, desde o meu ponto de vista, uma classe como Pedido somente deveria ter getters e setters. Como o Shoes diz, uma classe representa estado + comportamento, so que um pedido não tem comportamento. O pedido não se mexe, não cresce, não fala, não pensa, etc.

Na vida real você não pergunta para o pedido se ele é válido ou não. Na vida real você pergunta para uma pessoa com o conhecimento do dominio se tal pedido é válido ou não. Sendo aquela afirmação verdadeira, por que no sistema teria que ser diferente? Não é o objetivo do DDD representar o dominio na vida real no desenho do software?</description>
		<content:encoded><![CDATA[<p>Então Diogo, desde o meu ponto de vista, uma classe como Pedido somente deveria ter getters e setters. Como o Shoes diz, uma classe representa estado + comportamento, so que um pedido não tem comportamento. O pedido não se mexe, não cresce, não fala, não pensa, etc.</p>
<p>Na vida real você não pergunta para o pedido se ele é válido ou não. Na vida real você pergunta para uma pessoa com o conhecimento do dominio se tal pedido é válido ou não. Sendo aquela afirmação verdadeira, por que no sistema teria que ser diferente? Não é o objetivo do DDD representar o dominio na vida real no desenho do software?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Diogo Souza</title>
		<link>http://blog.fragmental.com.br/2008/05/18/objetos-nao-sao-atributos-funcoes/#comment-92633</link>
		<dc:creator>Diogo Souza</dc:creator>
		<pubDate>Tue, 20 May 2008 00:12:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fragmental.com.br/?p=465#comment-92633</guid>
		<description>Mais um ótimo post Shoes! Aprendendo muito cada vez que leio seu blog.

@Diego
Se eu entendi alguma coisa, um pedido define seu estado pelos seus próprios atributos(incluindo agregações), se estes atributos são preenchidos do banco de dados ou de web services é responsabilidade da camada que lhe retorna este objeto "preenchido"(dao?). 

No modelo/negócio, o isFinalizado() verifica seus atributos e checa se esta tudo OK. Esta é a lógica do negócio que este modelo(Pedido) representa, veja que este não cuida de buscar os dados, apenas de trabalha-los.

Bom... é assim que eu entendi.</description>
		<content:encoded><![CDATA[<p>Mais um ótimo post Shoes! Aprendendo muito cada vez que leio seu blog.</p>
<p>@Diego<br />
Se eu entendi alguma coisa, um pedido define seu estado pelos seus próprios atributos(incluindo agregações), se estes atributos são preenchidos do banco de dados ou de web services é responsabilidade da camada que lhe retorna este objeto &#8220;preenchido&#8221;(dao?). </p>
<p>No modelo/negócio, o isFinalizado() verifica seus atributos e checa se esta tudo OK. Esta é a lógica do negócio que este modelo(Pedido) representa, veja que este não cuida de buscar os dados, apenas de trabalha-los.</p>
<p>Bom&#8230; é assim que eu entendi.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
