<?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: Design Patterns: Elements of Reusable Object-Oriented Software</title>
	<atom:link href="http://www.rulesofattraction.net/design-patterns-elements-of-reusable-object-oriented-software.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.rulesofattraction.net/design-patterns-elements-of-reusable-object-oriented-software.html</link>
	<description>Contemporary Design Reviews, Articles on Graphic, Product, Architectural. Art and Webdesign</description>
	<lastBuildDate>Sun, 01 May 2011 06:34:22 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>By: Joel Schultz</title>
		<link>http://www.rulesofattraction.net/design-patterns-elements-of-reusable-object-oriented-software.html/comment-page-1#comment-151</link>
		<dc:creator>Joel Schultz</dc:creator>
		<pubDate>Fri, 30 Apr 2010 14:56:25 +0000</pubDate>
		<guid isPermaLink="false">http://rulesofattraction.net/design-patterns-elements-of-reusable-object-oriented-software.html#comment-151</guid>
		<description>I&#039;ve been a software developer in C++ for some time.  I would have to agree with the reviews that mention that most C++ textbooks rarely show the full scope and power of what this language is capable of, until you look at modern OO languages like Java and how they have been put to use.  After all, those are language textbooks, not OO design/philosophy books.&lt;p&gt;This book, on the other hand, made clear the &quot;why&quot; behind many software library architectures I&#039;ve used, from the basic Java classes and AWT to things done in MFC, COM and the Stingray MFC extension libraries.  Not only did it give an explanation, but it explicitly set out the &quot;how-tos&quot; on using these patterns yourself (complete with diagrams illustrating the structures and interactions), and more importantly when and when not to use particular patterns.&lt;p&gt;For me at least, the most difficult part of designing an application is not coming up with good algorithms or efficient routines, but is constructing a sensible, easy-to-maintain architecture that will hand the demands placed on it...without writing excessively convoluted code.  This seems more all the more difficult the larger the application gets.  The patterns in this book clarified many things which I wish I had known earlier.  A few patterns that I had &quot;discovered&quot; through much trial-and-error and observation were set out, often in a much cleaner form than I had come up with myself.  Several of the patterns in the book were immediately applicable to a project I was working on, helping to speed through what likely would have been another messy and slow design phase. &lt;p&gt;I would recommend ths book for any OO designer.  At the very least, it will enable you to understand why various libraries were implemented in certain ways.  At best, it will provide a useful toolkit of proven solutions enabling one to get the most out of an OO language such as C++ or Java, a toolkit that can be drawn on to solve your own architectural issues without reinventing the wheel.&lt;p&gt;The only warning I would give about this book is to reiterate the warning in the preface&#039;s very first paragraph:  &quot;This book assumes you are reasonably proficient in at least one object-oriented programming language, and you should have some experience in object-oriented design as well.  You definitely shouldn&#039;t have to rush to the nearest dictionary the moment we mention &#039;types&#039; and &#039;polymorphism&#039;, or &#039;interface&#039; as opposed to &#039;implementation&#039; inheritance.&quot;
Rating: 5 / 5</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been a software developer in C++ for some time.  I would have to agree with the reviews that mention that most C++ textbooks rarely show the full scope and power of what this language is capable of, until you look at modern OO languages like Java and how they have been put to use.  After all, those are language textbooks, not OO design/philosophy books.
<p>This book, on the other hand, made clear the &#8220;why&#8221; behind many software library architectures I&#8217;ve used, from the basic Java classes and AWT to things done in MFC, COM and the Stingray MFC extension libraries.  Not only did it give an explanation, but it explicitly set out the &#8220;how-tos&#8221; on using these patterns yourself (complete with diagrams illustrating the structures and interactions), and more importantly when and when not to use particular patterns.</p>
<p>For me at least, the most difficult part of designing an application is not coming up with good algorithms or efficient routines, but is constructing a sensible, easy-to-maintain architecture that will hand the demands placed on it&#8230;without writing excessively convoluted code.  This seems more all the more difficult the larger the application gets.  The patterns in this book clarified many things which I wish I had known earlier.  A few patterns that I had &#8220;discovered&#8221; through much trial-and-error and observation were set out, often in a much cleaner form than I had come up with myself.  Several of the patterns in the book were immediately applicable to a project I was working on, helping to speed through what likely would have been another messy and slow design phase. </p>
<p>I would recommend ths book for any OO designer.  At the very least, it will enable you to understand why various libraries were implemented in certain ways.  At best, it will provide a useful toolkit of proven solutions enabling one to get the most out of an OO language such as C++ or Java, a toolkit that can be drawn on to solve your own architectural issues without reinventing the wheel.</p>
<p>The only warning I would give about this book is to reiterate the warning in the preface&#8217;s very first paragraph:  &#8220;This book assumes you are reasonably proficient in at least one object-oriented programming language, and you should have some experience in object-oriented design as well.  You definitely shouldn&#8217;t have to rush to the nearest dictionary the moment we mention &#8216;types&#8217; and &#8216;polymorphism&#8217;, or &#8216;interface&#8217; as opposed to &#8216;implementation&#8217; inheritance.&#8221;<br />
Rating: 5 / 5</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.rulesofattraction.net/design-patterns-elements-of-reusable-object-oriented-software.html/comment-page-1#comment-150</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Fri, 30 Apr 2010 13:25:27 +0000</pubDate>
		<guid isPermaLink="false">http://rulesofattraction.net/design-patterns-elements-of-reusable-object-oriented-software.html#comment-150</guid>
		<description>Obviously, this book is *the* most recognized reference work on software-related Design Patterns, and as such cannot be ignored.  If you want to know about patterns, here is where to start.&lt;p&gt;The main asset of  this book is in its trustworthiness and credibility - not such an easy  thing to come by in computer books these days.  I went through many if not  most of the C++ examples in detail, and did not find a case where it didn&#039;t  hold up, at least to the extent where it clarified what the point of the  pattern was. The UML diagrams are also extremely helpful. &lt;p&gt;Be forewarned,  however; this is not light reading.  The examples are based on heavy-duty  design tasks your average programmer doesn&#039;t face, like language-parsing,  toolkit creation, compiler writing, and the like.  It makes one wonder how  applicable many of the patterns are to less complex programming tasks.  &lt;p&gt;Also, most of the examples are in C++, so you really have to understand  the syntax of C++ before you can get much value out of this book. Another  drawback is that many of the examples are abridged, so at times you have to  kind of extrapolate on what some of the code *would* look like in order to  understand the examples. The chapter on Interpreter in particular was a  tough nut to crack due to this. I actually would have liked to have seen  *more* explanatory text associated with the code itself. &lt;p&gt;For all that,  many of the patterns are pretty staightforward.  The trick is to nail down  that you &quot;get it&quot; for each pattern. One technique I found  enormously helpful in accomplishing this was to write a summary of the  pattern after reading a chapter - right in the book, so it can referenced  later (there&#039;s often an entire blank page opposite the beginning of each  chapter you can use for this). You may find yourself delving back into the  chapter to confirm your understanding. &lt;p&gt;Overall, a challenging but  ultimately rewarding read for anyone who wants to understand what design  patterns are all about.
Rating: 5 / 5</description>
		<content:encoded><![CDATA[<p>Obviously, this book is *the* most recognized reference work on software-related Design Patterns, and as such cannot be ignored.  If you want to know about patterns, here is where to start.
<p>The main asset of  this book is in its trustworthiness and credibility &#8211; not such an easy  thing to come by in computer books these days.  I went through many if not  most of the C++ examples in detail, and did not find a case where it didn&#8217;t  hold up, at least to the extent where it clarified what the point of the  pattern was. The UML diagrams are also extremely helpful. </p>
<p>Be forewarned,  however; this is not light reading.  The examples are based on heavy-duty  design tasks your average programmer doesn&#8217;t face, like language-parsing,  toolkit creation, compiler writing, and the like.  It makes one wonder how  applicable many of the patterns are to less complex programming tasks.  </p>
<p>Also, most of the examples are in C++, so you really have to understand  the syntax of C++ before you can get much value out of this book. Another  drawback is that many of the examples are abridged, so at times you have to  kind of extrapolate on what some of the code *would* look like in order to  understand the examples. The chapter on Interpreter in particular was a  tough nut to crack due to this. I actually would have liked to have seen  *more* explanatory text associated with the code itself. </p>
<p>For all that,  many of the patterns are pretty staightforward.  The trick is to nail down  that you &#8220;get it&#8221; for each pattern. One technique I found  enormously helpful in accomplishing this was to write a summary of the  pattern after reading a chapter &#8211; right in the book, so it can referenced  later (there&#8217;s often an entire blank page opposite the beginning of each  chapter you can use for this). You may find yourself delving back into the  chapter to confirm your understanding. </p>
<p>Overall, a challenging but  ultimately rewarding read for anyone who wants to understand what design  patterns are all about.<br />
Rating: 5 / 5</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave O'Hearn</title>
		<link>http://www.rulesofattraction.net/design-patterns-elements-of-reusable-object-oriented-software.html/comment-page-1#comment-149</link>
		<dc:creator>Dave O'Hearn</dc:creator>
		<pubDate>Fri, 30 Apr 2010 12:39:26 +0000</pubDate>
		<guid isPermaLink="false">http://rulesofattraction.net/design-patterns-elements-of-reusable-object-oriented-software.html#comment-149</guid>
		<description>... well, it&#039;s over. &quot;Patterns&quot; have not revolutionized the world. Nor does this book need to be &quot;studied&quot; for deep insights.
&lt;br /&gt;
&lt;br /&gt;What it seems patterns are actually good for is giving common names to popular solutions to problems, to make them easier to call to mind, and easier to discuss with others. Even this much is overrated. Before the advent of patterns, you could have said &quot;callbacks&quot; and people would have understood. Now you say &quot;the Observer pattern&quot;.
&lt;br /&gt;
&lt;br /&gt;_Design Patterns_ is none the less valuable, because it is one of those few books that EVERYONE is expected to have read. This is helpful in practice, as you can expect everyone to be familiar with its vocabulary. Few books truly fall into this &quot;required reading&quot; category. The only other that comes to mind is the MIT algorithms text. Many tech pundits claim that every next book is &quot;required reading&quot;, and the claim becomes tiring after a while, but this is one of the few that really is.
&lt;br /&gt;
&lt;br /&gt;I would not necessarily purchase it, though. The &quot;pattern&quot; schematic is verbose, and requires pages upon pages to describe something that, once you have seen it in practice once or twice, you will recogonize immediately. Omitting the appendixes, the book is barely 350 pages, and presents only 23 patterns. Only 5 or 6 of the patterns are truly famous: Singleton, Observer, Template Method... and a few more. A number of them are poorly presented. Chain of Responsibility, for instance, is just one of many ways to define an event framework and does not belong in a book that doesn&#039;t present the alternatives. Mediator is another; there must be dozens of ways to create a Mediator, which most people would call an &quot;event registry&quot; or something else, rather than a Mediator. &quot;Mediator&quot; itself is little more than a name, and won&#039;t help you in design.
&lt;br /&gt;
&lt;br /&gt;Some patterns are boring, since modern languages tend to provide them, and we&#039;ve heard about them many times already: Iterator, Proxy, Memento (serialization), etc. Others, like Command, are geared towards GUIs, and provide little value to other types of applications. Then there are the State and Strategy patterns, which are two sides of the same coin, and needn&#039;t be given two different names.
&lt;br /&gt;
&lt;br /&gt;And so on. Definately do not &quot;study&quot; this book if it seems you &quot;just don&#039;t get it&quot;. Chances are the book is wrong. It is worth a read through, and a second read through if the terminology doesn&#039;t stick the first time, but stop at that. My gut feeling is that this book is most appropriate for someone working on his or her first large project. After that, once the terminology sinks in, the book has little else to offer. And if taken dogmatically, or considered &quot;inspired&quot; or infallible, the book is a hindrance. Finally, overuse of patterns can result in a &quot;kitchen sink&quot; design, instead of a simple one that takes a few patterns, that may or may not be ones from this book, and implements them cleanly. Take the book for what it&#039;s worth, but remain skeptical.
Rating: 4 / 5</description>
		<content:encoded><![CDATA[<p>&#8230; well, it&#8217;s over. &#8220;Patterns&#8221; have not revolutionized the world. Nor does this book need to be &#8220;studied&#8221; for deep insights.</p>
<p>What it seems patterns are actually good for is giving common names to popular solutions to problems, to make them easier to call to mind, and easier to discuss with others. Even this much is overrated. Before the advent of patterns, you could have said &#8220;callbacks&#8221; and people would have understood. Now you say &#8220;the Observer pattern&#8221;.</p>
<p>_Design Patterns_ is none the less valuable, because it is one of those few books that EVERYONE is expected to have read. This is helpful in practice, as you can expect everyone to be familiar with its vocabulary. Few books truly fall into this &#8220;required reading&#8221; category. The only other that comes to mind is the MIT algorithms text. Many tech pundits claim that every next book is &#8220;required reading&#8221;, and the claim becomes tiring after a while, but this is one of the few that really is.</p>
<p>I would not necessarily purchase it, though. The &#8220;pattern&#8221; schematic is verbose, and requires pages upon pages to describe something that, once you have seen it in practice once or twice, you will recogonize immediately. Omitting the appendixes, the book is barely 350 pages, and presents only 23 patterns. Only 5 or 6 of the patterns are truly famous: Singleton, Observer, Template Method&#8230; and a few more. A number of them are poorly presented. Chain of Responsibility, for instance, is just one of many ways to define an event framework and does not belong in a book that doesn&#8217;t present the alternatives. Mediator is another; there must be dozens of ways to create a Mediator, which most people would call an &#8220;event registry&#8221; or something else, rather than a Mediator. &#8220;Mediator&#8221; itself is little more than a name, and won&#8217;t help you in design.</p>
<p>Some patterns are boring, since modern languages tend to provide them, and we&#8217;ve heard about them many times already: Iterator, Proxy, Memento (serialization), etc. Others, like Command, are geared towards GUIs, and provide little value to other types of applications. Then there are the State and Strategy patterns, which are two sides of the same coin, and needn&#8217;t be given two different names.</p>
<p>And so on. Definately do not &#8220;study&#8221; this book if it seems you &#8220;just don&#8217;t get it&#8221;. Chances are the book is wrong. It is worth a read through, and a second read through if the terminology doesn&#8217;t stick the first time, but stop at that. My gut feeling is that this book is most appropriate for someone working on his or her first large project. After that, once the terminology sinks in, the book has little else to offer. And if taken dogmatically, or considered &#8220;inspired&#8221; or infallible, the book is a hindrance. Finally, overuse of patterns can result in a &#8220;kitchen sink&#8221; design, instead of a simple one that takes a few patterns, that may or may not be ones from this book, and implements them cleanly. Take the book for what it&#8217;s worth, but remain skeptical.<br />
Rating: 4 / 5</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Russell Belfer</title>
		<link>http://www.rulesofattraction.net/design-patterns-elements-of-reusable-object-oriented-software.html/comment-page-1#comment-148</link>
		<dc:creator>Russell Belfer</dc:creator>
		<pubDate>Fri, 30 Apr 2010 10:05:07 +0000</pubDate>
		<guid isPermaLink="false">http://rulesofattraction.net/design-patterns-elements-of-reusable-object-oriented-software.html#comment-148</guid>
		<description>As you probably already realize from the large number of reviews, this book is one of the seminal books on patterns in software development.  If you are a professional software developer, you must read this.  If you are learning to write good software, this is a book that you will need to take  on at some point, but I urge some caution.&lt;p&gt;In particular, many of the  patterns in this book represent highly distilled wisdom about effective  solutions -- distilled so far that, unless you have implemented code that  realizes the pattern in question already, you may have trouble absorbing  the material.  I find that programmers-to-be who dive into this book, often  end up talking annoyingly about &quot;applying patterns&quot; without  having a real grasp of how these things translate (with some distortion and  compromise) into real projects.&lt;p&gt;That being said, an excellent way to  bridge the gap is to read this book along with &quot;Pattern Hatching :  Design Patterns Applied&quot; by John Vlissides.  That book is a chatty  companion piece for this one -- I found myself understanding how to  incorporate patterns into my day-to-day design work much more after reading  both books.&lt;p&gt;See:   Pattern Hatching : Design Patterns Applied    [also at Amazon.com]&lt;p&gt;Overall, while this  book is an extremely important contribution to software developers, it is  structured in a way that makes the material difficult to absorb if you  aren&#039;t approaching it with substantial previous knowledge about developing  software.  You can start with some of the simpler patterns (Singleton, for  example) and work through the harder ones, but only by implementing  projects and stumbling upon these yourself will you really feel a flash of  recognition as you read them in the book.
Rating: 4 / 5</description>
		<content:encoded><![CDATA[<p>As you probably already realize from the large number of reviews, this book is one of the seminal books on patterns in software development.  If you are a professional software developer, you must read this.  If you are learning to write good software, this is a book that you will need to take  on at some point, but I urge some caution.
<p>In particular, many of the  patterns in this book represent highly distilled wisdom about effective  solutions &#8212; distilled so far that, unless you have implemented code that  realizes the pattern in question already, you may have trouble absorbing  the material.  I find that programmers-to-be who dive into this book, often  end up talking annoyingly about &#8220;applying patterns&#8221; without  having a real grasp of how these things translate (with some distortion and  compromise) into real projects.</p>
<p>That being said, an excellent way to  bridge the gap is to read this book along with &#8220;Pattern Hatching :  Design Patterns Applied&#8221; by John Vlissides.  That book is a chatty  companion piece for this one &#8212; I found myself understanding how to  incorporate patterns into my day-to-day design work much more after reading  both books.</p>
<p>See:   Pattern Hatching : Design Patterns Applied    [also at Amazon.com]</p>
<p>Overall, while this  book is an extremely important contribution to software developers, it is  structured in a way that makes the material difficult to absorb if you  aren&#8217;t approaching it with substantial previous knowledge about developing  software.  You can start with some of the simpler patterns (Singleton, for  example) and work through the harder ones, but only by implementing  projects and stumbling upon these yourself will you really feel a flash of  recognition as you read them in the book.<br />
Rating: 4 / 5</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.rulesofattraction.net/design-patterns-elements-of-reusable-object-oriented-software.html/comment-page-1#comment-147</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Fri, 30 Apr 2010 08:53:13 +0000</pubDate>
		<guid isPermaLink="false">http://rulesofattraction.net/design-patterns-elements-of-reusable-object-oriented-software.html#comment-147</guid>
		<description>This book really changed my way of thinking about object-oriented design. The idea is that when designing a new class hierarchy, though implementation details may differ, you often find yourself using the same kinds of solutions over and over again. Rather than approaching each design task out of context as an individual, isolated problem, the strategy is to study the task and identify the underlying design pattern most likely to be applicable, and follow the class structure outlined by that pattern. It&#039;s a &quot;cookbook&quot; school of design that works amazingly well.&lt;p&gt;There are other advantages to this book. It isolates 23 of the most common patterns and presents them in detail. You wouldn&#039;t think that 23 patterns would be enough, but once you become adept at recognizing patterns, you&#039;ll find that a large fraction of the patterns you use in practice are among these 23. For each pattern, the book carefully presents the intent of the pattern, a motivating example, consequences of using that pattern, implementation considerations and pitfalls, sample code (C++ or Smalltalk), known uses of that pattern in real-world applications, and a list of related patterns.&lt;p&gt;Upon first reading, you will start to recognize these patterns in the frameworks you see. Upon second reading, you&#039;ll begin to see how these patterns can help you in your own designs, and may also start to see new patterns not listed in the book. Once you become familiar with the pattern concept, you will be able to originate your own patterns, which will serve you well in the future. One of the most valuable contributions of this book is that it is designed not merely to help you identify patterns, but to give you a sense of which patterns are appropriate in which contexts.&lt;p&gt;I think this book is particularly valuable to many C++ and Java programmers, because of the dynamic and flexible design philosophy it follows. (Its two fundamental principles of reusable OO design are: &quot;Program to an interface, not an implementation&quot; and &quot;Favor object composition over class inheritance&quot;.) I&#039;ve found that many C++ books unfortunately tend to emphasize a rather static and inflexible design philosophy. Many C++ programmers do not realize how the language and the books they&#039;ve studied from have been limiting their thinking until they have been exposed to ideas from other lanugages.  The authors of this book have obviously been influenced by other languages as well, especially Smalltalk, and have brought many of its best lessons to C++ design. Most Java books seem to take after the C++ books, even though Java is a more dynamic language. This book may help Java programmers take full advantage of the extra power offered by their language, if they look deeply enough into some of the lesser-known features its runtime system affords.&lt;p&gt;Last, but not least, this book is valuable because it names the patterns it uses, and so gives programmers a common vocabulary to describe design concepts, rather than particular implementations. You&#039;ll find yourself saying things like, &quot;That would be a good use for a Decorator&quot;, or &quot;Should we use a Facade or a Mediator in this case?&quot; I encourage readers of this book to use this vocabulary with other programmers.&lt;p&gt;In summary, this is one of the few books that I think belongs on every programmer&#039;s &quot;must-have&quot; list.  Not to overuse a cliche, but like object-oriented design itself, the pattern concept is one of those rare paradigm-shifts in computer programming.  It is equally valuable to expert professional and novice student alike.  The book has a home page at http://st-www.cs.uiuc.edu/users/patterns/DPBook/DPBook.html
Rating: 5 / 5</description>
		<content:encoded><![CDATA[<p>This book really changed my way of thinking about object-oriented design. The idea is that when designing a new class hierarchy, though implementation details may differ, you often find yourself using the same kinds of solutions over and over again. Rather than approaching each design task out of context as an individual, isolated problem, the strategy is to study the task and identify the underlying design pattern most likely to be applicable, and follow the class structure outlined by that pattern. It&#8217;s a &#8220;cookbook&#8221; school of design that works amazingly well.
<p>There are other advantages to this book. It isolates 23 of the most common patterns and presents them in detail. You wouldn&#8217;t think that 23 patterns would be enough, but once you become adept at recognizing patterns, you&#8217;ll find that a large fraction of the patterns you use in practice are among these 23. For each pattern, the book carefully presents the intent of the pattern, a motivating example, consequences of using that pattern, implementation considerations and pitfalls, sample code (C++ or Smalltalk), known uses of that pattern in real-world applications, and a list of related patterns.</p>
<p>Upon first reading, you will start to recognize these patterns in the frameworks you see. Upon second reading, you&#8217;ll begin to see how these patterns can help you in your own designs, and may also start to see new patterns not listed in the book. Once you become familiar with the pattern concept, you will be able to originate your own patterns, which will serve you well in the future. One of the most valuable contributions of this book is that it is designed not merely to help you identify patterns, but to give you a sense of which patterns are appropriate in which contexts.</p>
<p>I think this book is particularly valuable to many C++ and Java programmers, because of the dynamic and flexible design philosophy it follows. (Its two fundamental principles of reusable OO design are: &#8220;Program to an interface, not an implementation&#8221; and &#8220;Favor object composition over class inheritance&#8221;.) I&#8217;ve found that many C++ books unfortunately tend to emphasize a rather static and inflexible design philosophy. Many C++ programmers do not realize how the language and the books they&#8217;ve studied from have been limiting their thinking until they have been exposed to ideas from other lanugages.  The authors of this book have obviously been influenced by other languages as well, especially Smalltalk, and have brought many of its best lessons to C++ design. Most Java books seem to take after the C++ books, even though Java is a more dynamic language. This book may help Java programmers take full advantage of the extra power offered by their language, if they look deeply enough into some of the lesser-known features its runtime system affords.</p>
<p>Last, but not least, this book is valuable because it names the patterns it uses, and so gives programmers a common vocabulary to describe design concepts, rather than particular implementations. You&#8217;ll find yourself saying things like, &#8220;That would be a good use for a Decorator&#8221;, or &#8220;Should we use a Facade or a Mediator in this case?&#8221; I encourage readers of this book to use this vocabulary with other programmers.</p>
<p>In summary, this is one of the few books that I think belongs on every programmer&#8217;s &#8220;must-have&#8221; list.  Not to overuse a cliche, but like object-oriented design itself, the pattern concept is one of those rare paradigm-shifts in computer programming.  It is equally valuable to expert professional and novice student alike.  The book has a home page at <a href="http://st-www.cs.uiuc.edu/users/patterns/DPBook/DPBook.html" rel="nofollow">http://st-www.cs.uiuc.edu/users/patterns/DPBook/DPBook.html</a><br />
Rating: 5 / 5</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching 47/53 queries in 0.011 seconds using disk: basic

Served from: www.rulesofattraction.net @ 2012-05-19 20:06:16 -->
