<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ensaios Noturnos &#187; guangue dos quatro</title>
	<atom:link href="http://www.ruppel.eng.br/tag/guangue-dos-quatro/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ruppel.eng.br</link>
	<description>Engenheiro, psicólogo, jornalista, médico, louco, palmeirense...</description>
	<lastBuildDate>Thu, 29 Jul 2010 03:07:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>Design Patterns</title>
		<link>http://www.ruppel.eng.br/2010/01/12/design-patterns/</link>
		<comments>http://www.ruppel.eng.br/2010/01/12/design-patterns/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 01:26:21 +0000</pubDate>
		<dc:creator>Ruppel</dc:creator>
				<category><![CDATA[Engenheiro]]></category>
		<category><![CDATA[design patterns]]></category>
		<category><![CDATA[guangue dos quatro]]></category>
		<category><![CDATA[resumo dos clássicos da computação]]></category>

		<guid isPermaLink="false">http://www.ruppel.eng.br/?p=59</guid>
		<description><![CDATA[Para estrear a série &#8220;Resumo dos clássicos da computação&#8221; começarei pelo consagrado Design Patterns, escrito por Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides. O livro Design Patterns é um dos maiores, se não o maior, dos clássicos em desenvolvimento de software. Seus autores ficaram imortalizados como &#8220;a gangue dos quatro&#8221;. O primeiro capítulo [...]]]></description>
			<content:encoded><![CDATA[<p>Para estrear a série &#8220;<a target="" title="" href="http://ruppel.eng.br/tag/resumo-dos-classicos-da-computacao">Resumo dos clássicos da computação</a>&#8221; começarei pelo consagrado Design Patterns, escrito por Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides.</p>
<p>O livro Design Patterns é um dos maiores, se não o maior, dos clássicos em desenvolvimento de software. Seus autores ficaram imortalizados como &#8220;a gangue dos quatro&#8221;.</p>
<p>O primeiro capítulo do livro serve para explicar o que são Design Patterns. Traduzindo o termo para o português teríamos &#8220;Padrão de Projeto&#8221;, uma tradução bem razoável. As design patterns são padrões desenvolvidos para sistemas orientados a objetos (conhecer OO é requisito mínimo para ler este livro).</p>
<p>As design patterns não foram inventadas pela gangue dos quatro, o trabalho deles foi identificar e catalogar esses padrões de projeto usados em diferentes sistemas em operação pelo mundo. Eles identificaram esses padrões, as situações em que eram usados e ainda vantagens e desvantagens do uso de cada padrão. Esse catálogo que fez do livro um clássico: ele virou referência para análise de qualquer outro sistema.</p>
<p>E afinal, o que é uma design pattern? Design pattern é uma forma de se estruturar os objetos do seu sistema OO para resolver um tipo de problema recorrente. Assim, a mesma design pattern pode ser usada para diversos casos distintos, desde que&nbsp; apresentem algumas características em comum, encaixando-se no &#8220;tipo de problema&#8221; para o qual a pattern foi concebida. As designs patterns são comumente encontradas nos grandes sistemas implementados com sucesso pelo mundo afora.</p>
<p>Para caracterizar uma Design Pattern, ao longo do livro, eles utilizam:</p>
<p>1. Nome &#8211; para podermos nos referenciar de forma fácil a elas</p>
<p>2. Problema (ou &#8220;tipo de problema&#8221; ou &#8220;situação&#8221;) -&nbsp; uma caracterização de quando essa pattern deve ser usada</p>
<p>3. Solução &#8211; é a estruturação dos objetos de forma a resolver o problema acima descrito (quais as interfaces, como elas se relacionam e suas funções na resolução do problema)</p>
<p>4. Consequências &#8211; são as vantagens e desvantages da pattern, ou resultados obtidos com o uso daquela pattern</p>
<p>Dois conceitos fortíssimos ficam ao longo de todo o livro:</p>
<p>- Programe para interfaces e não para implementações, deixando seu sistema com baixo acoplamento</p>
<p>- Abtraia os conceitos que variam no seu sistema em forma de objeto. Por exemplo, se você tem um objeto que possui alguma lista, e em algum&nbsp; momento esse objeto deve ordenar essa lista, mas existem vários parâmetros que alteram a forma com a qual essa lista deve ser ordenada, então, uma boa idéia seria criar objetos para as diferentes formas de se ordenar essa lista.</p>
<p>Os capítulos do livro descrevem, cada um, uma Design Pattern. Nos próximos dias criarei posts para cada uma dessas Design Patterns apresentadas no livro.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruppel.eng.br/2010/01/12/design-patterns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
