<?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>ThotSpots &#187; design patterns</title>
	<atom:link href="http://www.thotspots.com/tag/design-patterns/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thotspots.com</link>
	<description>Agile Software Development</description>
	<lastBuildDate>Wed, 09 Sep 2009 18:13:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>&#8220;Head First&#8221; Book Sometimes Makes My Head Hurt</title>
		<link>http://www.thotspots.com/head-first-book-sometimes-makes-my-head-hurt/</link>
		<comments>http://www.thotspots.com/head-first-book-sometimes-makes-my-head-hurt/#comments</comments>
		<pubDate>Sat, 17 Feb 2007 01:17:19 +0000</pubDate>
		<dc:creator>Craig Jones</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[design patterns]]></category>
		<category><![CDATA[design principles]]></category>
		<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://www.thotspots.com/?p=23</guid>
		<description><![CDATA[[This review originally appeared in my personal blog on Sept 8, 2005.  I'm reposting it by request.]

IÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢m helping out with a study group for "Head First Design Patterns," which just finished chapter 6. On the whole, itÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢s a pretty good introduction to software design patterns ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Å“ way more accessible than the seminal work by the Gang of Four; however, the examples sometimes make my head hurt. I canÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢t imagine what theyÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢re doing to the heads of the beginners in the group. Coming up with decent examples is the hardest thing to do in expository writing, and]]></description>
			<content:encoded><![CDATA[<p>[This review originally appeared in my personal blog on Sept 8, 2005.  I'm reposting it by request.]</p>
<p>I&#8217;m helping out with a study group for &#8220;Head First Design Patterns,&#8221; which just finished chapter 6. On the whole, it&#8217;s a pretty good introduction to software design patterns &#8212; way more accessible than the seminal work by the Gang of Four; however, the examples sometimes make my head hurt. I can&#8217;t imagine what they&#8217;re doing to the heads of the beginners in the group. Coming up with decent examples is the hardest thing to do in expository writing, and I certainly give the authors an E for effort in creativity, but I wish they had been a little less concerned with making their examples &#8220;hip&#8221; and a little more concerned with making them appropriate.<br />
<span id="more-23"></span><br />
To wit, the whole pizza store analogy in chapter 4 (to illustrate factory method and abstract factory) is flawed. For one thing, that&#8217;s just not the way you&#8217;d model a pizza business in any actual software that I can imagine. For another, the differences between a New York pizza factory and a Chicago pizza factory are too subtle/trivial to make for an effective illustration of why you would need to subclass anything (much less use a factory to manage the subclasses). A much better example, as everyone in my group agreed, would have been an application that needs to offer up a consistent set of functionality to users who are accessing it in wildly different ways: one&#8217;s in a web browser on a desktop, another is running a cell phone app, another is using a touch-tone phone, and yet another is using a voice-activated headset. All the client code knows is that, for example, it needs to ask a multiple-choice question and obtain the answer. It&#8217;s up to an abstract factory to provide the client with a set of classes that can do that, in the context of the selected user-interface, in whatever way is necessary.</p>
<p>To a lesser degree, the Starbucks coffee example at the beginning of the book suffers from the same too-hip-to-be-effective syndrome, although I do think that the remote-control example for the Command pattern in chapter six is dead on.</p>
<p>For any novice who is reading this book without the benefit of a study group, I highly suggest that you find at least one other programmer who is experienced in design patterns to explain why/if/how the examples are lacking.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thotspots.com/head-first-book-sometimes-makes-my-head-hurt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

