<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>ComentÃ¡rios sobre: What The Fuck Is MVC?</title>
	<atom:link href="http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/</link>
	<description>HistÃ³rico de Aprendizado</description>
	<lastBuildDate>Fri, 12 Dec 2008 23:57:56 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Por: MVC no Rails - Explicando &#124; Imagination is more important than knowledge &#8230; Albert =D &#124; Vitor Augusto</title>
		<link>http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-177</link>
		<dc:creator>MVC no Rails - Explicando &#124; Imagination is more important than knowledge &#8230; Albert =D &#124; Vitor Augusto</dc:creator>
		<pubDate>Mon, 08 Oct 2007 15:25:38 +0000</pubDate>
		<guid isPermaLink="false">http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-177</guid>
		<description>[...] What The Fuck Is MVC? [...]</description>
		<content:encoded><![CDATA[<p>[...] What The Fuck Is MVC? [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Danilo G. Magrini</title>
		<link>http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-148</link>
		<dc:creator>Danilo G. Magrini</dc:creator>
		<pubDate>Thu, 02 Aug 2007 11:57:38 +0000</pubDate>
		<guid isPermaLink="false">http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-148</guid>
		<description>email: danilo.magrini@gmail.com</description>
		<content:encoded><![CDATA[<p>email: <a href="mailto:danilo.magrini@gmail.com">danilo.magrini@gmail.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Jefferson Petilo</title>
		<link>http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-122</link>
		<dc:creator>Jefferson Petilo</dc:creator>
		<pubDate>Sun, 15 Jul 2007 15:34:06 +0000</pubDate>
		<guid isPermaLink="false">http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-122</guid>
		<description>Danilo, Ã³tima abordagem. Estou iniciando o desenvolvimento de um framework MVCpara Web e tenho visto que na prÃ¡tica nem o Modelo 2 tem a aderÃªncia completa para todas as linguagens ai disponÃ­veis.. DaÃ­ a necessidade de utilizar substituiÃ§Ã£o de padrÃµes para recompor a arquitetura. Se puder Danilo, passa seu e-mail para que eu possa tirar umas idÃ©ias com vocÃª, sobre o meu projeto.</description>
		<content:encoded><![CDATA[<p>Danilo, Ã³tima abordagem. Estou iniciando o desenvolvimento de um framework MVCpara Web e tenho visto que na prÃ¡tica nem o Modelo 2 tem a aderÃªncia completa para todas as linguagens ai disponÃ­veis.. DaÃ­ a necessidade de utilizar substituiÃ§Ã£o de padrÃµes para recompor a arquitetura. Se puder Danilo, passa seu e-mail para que eu possa tirar umas idÃ©ias com vocÃª, sobre o meu projeto.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Claudio</title>
		<link>http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-107</link>
		<dc:creator>Claudio</dc:creator>
		<pubDate>Thu, 05 Jul 2007 14:15:59 +0000</pubDate>
		<guid isPermaLink="false">http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-107</guid>
		<description>Muito bom! Valeu!</description>
		<content:encoded><![CDATA[<p>Muito bom! Valeu!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: vinicius.biz/blog &#187; Por que usar um framework?</title>
		<link>http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-56</link>
		<dc:creator>vinicius.biz/blog &#187; Por que usar um framework?</dc:creator>
		<pubDate>Tue, 01 May 2007 14:52:51 +0000</pubDate>
		<guid isPermaLink="false">http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-56</guid>
		<description>[...] Quanto aos padrÃµes de desenvolvimento, me refiro por exemplo ao MVC, que Ã© um design pattern para abstraÃ§Ã£o de dados e provavelmente Ã© o conceito mais importante do Cake. NÃ£o vou entrar em detalhes, mas tem uma explicaÃ§Ã£o legal aqui. [...]</description>
		<content:encoded><![CDATA[<p>[...] Quanto aos padrÃµes de desenvolvimento, me refiro por exemplo ao MVC, que Ã© um design pattern para abstraÃ§Ã£o de dados e provavelmente Ã© o conceito mais importante do Cake. NÃ£o vou entrar em detalhes, mas tem uma explicaÃ§Ã£o legal aqui. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: MVC nÃ£o Ã© 3-Camadas &#171; pegapacapa</title>
		<link>http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-51</link>
		<dc:creator>MVC nÃ£o Ã© 3-Camadas &#171; pegapacapa</dc:creator>
		<pubDate>Sun, 22 Apr 2007 14:26:41 +0000</pubDate>
		<guid isPermaLink="false">http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-51</guid>
		<description>[...] ReferÃªncia: http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/ [...]</description>
		<content:encoded><![CDATA[<p>[...] ReferÃªncia: <a href="http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/" rel="nofollow">http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: queromaisjava</title>
		<link>http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-49</link>
		<dc:creator>queromaisjava</dc:creator>
		<pubDate>Sat, 21 Apr 2007 01:36:25 +0000</pubDate>
		<guid isPermaLink="false">http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-49</guid>
		<description>Muito bom o seu post....</description>
		<content:encoded><![CDATA[<p>Muito bom o seu post&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: leonardofaria.net // weblab // webstandards, flash, webdesign e macintosh</title>
		<link>http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-38</link>
		<dc:creator>leonardofaria.net // weblab // webstandards, flash, webdesign e macintosh</dc:creator>
		<pubDate>Sat, 27 Jan 2007 00:40:53 +0000</pubDate>
		<guid isPermaLink="false">http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-38</guid>
		<description></description>
		<content:encoded><![CDATA[<p>[...] [Em pt_br] 4) Ruby on Rails in Brazil 5) Ruby on Br &#8211; Comunidade bem bacana 6) Wikipedia falando sobre RoR 7) Outra introdução sobre RoR em português. 8) Outro tutorial prático sobre Rails 9) Rails para diversão e lucro &#8211; conteúdo muito bom! 10) Blog do Eustáquio, figurinha carimbada e autor do livro Ruby: Conhecendo a linguagem 11) Balance On Rails, de outro cara carimbado, Fabio Akita, autor do Repensando a Web com Rails (aliás, peguem o capítulo demo). 12) juca on rails &#8211; o cara fez um mini curso de Rails por IRC. No blogue tem todos os logs das aulas. Além disso, tem um ótimo post sobre livros da linguagem. 13) Tecnologias Web &#8211; blog falando de Rails. Tem um post falando de que diabos é esse tal de MVC. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Danilo Magrini</title>
		<link>http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-34</link>
		<dc:creator>Danilo Magrini</dc:creator>
		<pubDate>Thu, 04 Jan 2007 17:37:59 +0000</pubDate>
		<guid isPermaLink="false">http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-34</guid>
		<description>OlÃ¡ Alexandre, fico feliz em contribuir com o site.

Vamos lÃ¡:

&quot;Fiquei meio confuso quando vocÃª disse que MVC nÃ£o sÃ£o camadas e sim uma maneira das camadas conversarem.&quot;
Vamos melhorar essas definiÃ§Ãµes. A Arquitetura de Camadas nada mais Ã© do que uma proposta para dividirmos logicamente (ou atÃ© fisicamente) os componentes de um software. Ou seja, deve-se agrupar os componentes que tem responsabilidades em comum a fim de promover um maior nÃ­vel de coesÃ£o da aplicaÃ§Ã£o. NÃ£o confundir o termo componentes aqui com objetos visuais, mas sim tudo que diz respeito a classes, funcionalidades, etc. Todas as &quot;ilidades&quot; desse tipo de implementaÃ§Ã£o todos jÃ¡ sabemos: Flexibilidade, manutenibilidade, reusabilidade entre outras. No entando a arquitetura de camadas nÃ£o define COMO essas camadas se interligam ou interagem e isso leva, muitas vezes, a sistemas altamente acoplados onde as camadas se conversam como bem entendem utilizando componentes ou sub-componentes umas das outras. Geralmente o tipo de grÃ¡fico usado para definir camadas, principalmente 3-camadas (3-tier) Ã© linear e a camada de NegÃ³cio fica entre a ApresentaÃ§Ã£o e Dados. (nÃ£o esqueÃ§a essa arquitetura pode ser 1-tier, 2-tier, 3-tier ou n-tier).
O problema comeÃ§a quando essa integraÃ§Ã£o entre camadas comeÃ§am criar um emaranhado de fluxos que acabam prejudicando o software de maneira geral. E isso tende a piorar quando existe uma interface grÃ¡fica no meio da histÃ³ria, que hoje Ã© comum mas que quando foi criado o MVC, meados de 70, nÃ£o se falava muito em GUI (Graphical User Interface). Ainda tem muito assunto pra tratar aqui, mas vamos continuar.
Para reduzir os problemas de alto acoplamento entre as camadas foram (e estÃ£o sendo) criados alguns Design Patterns. Na verdade nÃ£o foram criados e sim &quot;descobertos&quot;, alguÃ©m desenvolvia um bom padrÃ£o ali outro aqui e foi-se documentando tais sucessos. O MVC nada mais Ã© do que um conjunto de Design Patterns integrados, trabalhando em conjunto para reduzir o acoplamento e melhorar o desenvolvimento e integraÃ§Ã£o das camadas de software. Entre esses padrÃµes se enquadram o Observer e o Strategy (vide Head First - Design Patterns). Esse modelo que atua em cima das Camadas (nÃ£o necessariamente 3-tier) propÃµe um grÃ¡fico em forma de triÃ¢ngulo (vide http://java.sun.com/blueprints/patterns/images/mvc-structure-generic.gif ) onde existe uma &quot;norma&quot; de integraÃ§Ã£o onde o Controller faz solicitaÃ§Ãµes ao Model, sendo que essas solicitaÃ§Ãµes provÃ©m ou nÃ£o de uma interaÃ§Ã£o com o usuÃ¡rio e o Model por sua vez informa sua mudanÃ§a de estado (se houver) ao View, que no caso observa por mudanÃ§as no Model. SÃ³ isso. Existem pequenas diferenÃ§as no modelo MVC de acordo com a necessidade, mas o mais comum Ã© a View e o Controller ficarem na camada de ApresentaÃ§Ã£o e o Model na de NegÃ³cios. Esse modelo Ã© o mesmo do MVC do Smalltalk e nÃ£o Ã© o mesmo usado hoje nas aplicaÃ§Ãµes Web. Em algum lugar vc citou &quot;E eu achando que MVC era pra web apenas&quot;, na realidade Ã© totalmente o oposto, pois na dÃ©cada de 70 desenvolvimento web sequer era discutido. O modelo atual de MVC implementado na web Ã© o que chamam de Model-2 (na verdade isso Ã© meio contestÃ¡vel, jÃ¡ li em outros lugares que Model-2 Ã© outra coisa), pois na web nÃ£o tem como implementar o pattern Observer e isso tem que ser feito de outra forma, no caso usando um Front Controller.
Abaixo seguem algumas referÃªncias:
http://java.sun.com/blueprints/patterns/MVC-detailed.html
http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/web-tier/web-tier5.html
http://en.wikipedia.org/wiki/Three-tier_(computing)

&quot;o framework MVC deve possibilitar que eu possa no controller ou na view fazer chamadas a mÃ©todos privados do meu model, certo?&quot;

Mas o objetivo dos mÃ©todos privados e nÃ£o serem visÃ­veis por nenhuma outra classe.

&quot;(modelo)Tarefa, dentro dessa classe tarefa eu tenho o mÃ©todo criar.&quot;

NaÃµ entendi bem. A classe tem um mÃ©todo para se criar uma instÃ¢ncia de si mesma?

&quot;Por isso que eu disse que o framework deve permitir a conversa entre as camadas.&quot;

Claro que permite, em momento nenhum eu disse o contrÃ¡rio. PorÃ©m ele aconselha que seja seguidas algumas regras para isso.

abraÃ§o.

Danilo G. Magrini
MarÃ­lia / SP</description>
		<content:encoded><![CDATA[<p>OlÃ¡ Alexandre, fico feliz em contribuir com o site.</p>
<p>Vamos lÃ¡:</p>
<p>&#8220;Fiquei meio confuso quando vocÃª disse que MVC nÃ£o sÃ£o camadas e sim uma maneira das camadas conversarem.&#8221;<br />
Vamos melhorar essas definiÃ§Ãµes. A Arquitetura de Camadas nada mais Ã© do que uma proposta para dividirmos logicamente (ou atÃ© fisicamente) os componentes de um software. Ou seja, deve-se agrupar os componentes que tem responsabilidades em comum a fim de promover um maior nÃ­vel de coesÃ£o da aplicaÃ§Ã£o. NÃ£o confundir o termo componentes aqui com objetos visuais, mas sim tudo que diz respeito a classes, funcionalidades, etc. Todas as &#8220;ilidades&#8221; desse tipo de implementaÃ§Ã£o todos jÃ¡ sabemos: Flexibilidade, manutenibilidade, reusabilidade entre outras. No entando a arquitetura de camadas nÃ£o define COMO essas camadas se interligam ou interagem e isso leva, muitas vezes, a sistemas altamente acoplados onde as camadas se conversam como bem entendem utilizando componentes ou sub-componentes umas das outras. Geralmente o tipo de grÃ¡fico usado para definir camadas, principalmente 3-camadas (3-tier) Ã© linear e a camada de NegÃ³cio fica entre a ApresentaÃ§Ã£o e Dados. (nÃ£o esqueÃ§a essa arquitetura pode ser 1-tier, 2-tier, 3-tier ou n-tier).<br />
O problema comeÃ§a quando essa integraÃ§Ã£o entre camadas comeÃ§am criar um emaranhado de fluxos que acabam prejudicando o software de maneira geral. E isso tende a piorar quando existe uma interface grÃ¡fica no meio da histÃ³ria, que hoje Ã© comum mas que quando foi criado o MVC, meados de 70, nÃ£o se falava muito em GUI (Graphical User Interface). Ainda tem muito assunto pra tratar aqui, mas vamos continuar.<br />
Para reduzir os problemas de alto acoplamento entre as camadas foram (e estÃ£o sendo) criados alguns Design Patterns. Na verdade nÃ£o foram criados e sim &#8220;descobertos&#8221;, alguÃ©m desenvolvia um bom padrÃ£o ali outro aqui e foi-se documentando tais sucessos. O MVC nada mais Ã© do que um conjunto de Design Patterns integrados, trabalhando em conjunto para reduzir o acoplamento e melhorar o desenvolvimento e integraÃ§Ã£o das camadas de software. Entre esses padrÃµes se enquadram o Observer e o Strategy (vide Head First &#8211; Design Patterns). Esse modelo que atua em cima das Camadas (nÃ£o necessariamente 3-tier) propÃµe um grÃ¡fico em forma de triÃ¢ngulo (vide <a href="http://java.sun.com/blueprints/patterns/images/mvc-structure-generic.gif" rel="nofollow">http://java.sun.com/blueprints/patterns/images/mvc-structure-generic.gif</a> ) onde existe uma &#8220;norma&#8221; de integraÃ§Ã£o onde o Controller faz solicitaÃ§Ãµes ao Model, sendo que essas solicitaÃ§Ãµes provÃ©m ou nÃ£o de uma interaÃ§Ã£o com o usuÃ¡rio e o Model por sua vez informa sua mudanÃ§a de estado (se houver) ao View, que no caso observa por mudanÃ§as no Model. SÃ³ isso. Existem pequenas diferenÃ§as no modelo MVC de acordo com a necessidade, mas o mais comum Ã© a View e o Controller ficarem na camada de ApresentaÃ§Ã£o e o Model na de NegÃ³cios. Esse modelo Ã© o mesmo do MVC do Smalltalk e nÃ£o Ã© o mesmo usado hoje nas aplicaÃ§Ãµes Web. Em algum lugar vc citou &#8220;E eu achando que MVC era pra web apenas&#8221;, na realidade Ã© totalmente o oposto, pois na dÃ©cada de 70 desenvolvimento web sequer era discutido. O modelo atual de MVC implementado na web Ã© o que chamam de Model-2 (na verdade isso Ã© meio contestÃ¡vel, jÃ¡ li em outros lugares que Model-2 Ã© outra coisa), pois na web nÃ£o tem como implementar o pattern Observer e isso tem que ser feito de outra forma, no caso usando um Front Controller.<br />
Abaixo seguem algumas referÃªncias:<br />
<a href="http://java.sun.com/blueprints/patterns/MVC-detailed.html" rel="nofollow">http://java.sun.com/blueprints/patterns/MVC-detailed.html</a><br />
<a href="http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/web-tier/web-tier5.html" rel="nofollow">http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/web-tier/web-tier5.html</a><br />
<a href="http://en.wikipedia.org/wiki/Three-tier_(computing)" rel="nofollow">http://en.wikipedia.org/wiki/Three-tier_(computing)</a></p>
<p>&#8220;o framework MVC deve possibilitar que eu possa no controller ou na view fazer chamadas a mÃ©todos privados do meu model, certo?&#8221;</p>
<p>Mas o objetivo dos mÃ©todos privados e nÃ£o serem visÃ­veis por nenhuma outra classe.</p>
<p>&#8220;(modelo)Tarefa, dentro dessa classe tarefa eu tenho o mÃ©todo criar.&#8221;</p>
<p>NaÃµ entendi bem. A classe tem um mÃ©todo para se criar uma instÃ¢ncia de si mesma?</p>
<p>&#8220;Por isso que eu disse que o framework deve permitir a conversa entre as camadas.&#8221;</p>
<p>Claro que permite, em momento nenhum eu disse o contrÃ¡rio. PorÃ©m ele aconselha que seja seguidas algumas regras para isso.</p>
<p>abraÃ§o.</p>
<p>Danilo G. Magrini<br />
MarÃ­lia / SP</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Alexandre Garrefa</title>
		<link>http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-20</link>
		<dc:creator>Alexandre Garrefa</dc:creator>
		<pubDate>Wed, 03 Jan 2007 13:42:50 +0000</pubDate>
		<guid isPermaLink="false">http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/#comment-20</guid>
		<description>Pessoal, dei uma atualizada no texto deste post com base nas correÃ§Ãµes do Danilo, dÃªem uma conferida.

AbraÃ§os.</description>
		<content:encoded><![CDATA[<p>Pessoal, dei uma atualizada no texto deste post com base nas correÃ§Ãµes do Danilo, dÃªem uma conferida.</p>
<p>AbraÃ§os.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
