<?xml version="1.0" encoding="windows-1252"?>
<node id="133469" title="Re: Design Patterns Considered Harmful" created="2001-12-20 13:10:47" updated="2005-07-27 18:28:31">
<type id="11">
note</type>
<author id="119480">
Voronich</author>
<data>
<field name="doctext">
Strictly speaking, I can't disagree with you at all.  Patternitis has (or had, it may have blown over by now) become a serious problem in dev shops.  I'm primarily a C++ weenie.  People call me a "senior" programmer, but whatever.      I've got a couple people working with me and they LOVE nothing more than to show me how nice all their pattern usage is.&lt;p&gt;But I have to say I've eaten up all the DP books and papers I could, finding that they're delightful keys to large-scale design and even small scale when I know I'm looking at boilerplate structure that 'smells' reusable even though it doesn't look it (even though most of them are pedantic pieces of crap.)  Usually I can look around and re-browse through pattern catalogs until I see someone who's  rephrased my problem.  So I can't sell it short.&lt;p&gt;
The DP thing in general seems to me to show that there is a certain critical mass in code size, after which you need to really think deeply about higher-order structural organization and does so by demonstration rather than just saying "reduce, reuse, recycle" over and over again.&lt;p&gt;BUT, there are people floating around the DP mailing lists who believe that every single line of code should be a part of a pattern and that a project should be able to be described completely in terms of patterns.  (These are people who seem to spend a great deal more time writing papers than designing systems.)  And it never ceases to amaze me how hard people will try to MAKE their code fir into a pattern. (This is regrettably true whether the coder is a newly formed DP convert or not.)&lt;p&gt;
Design Patterns: A force so great it can only be used for Good or Evil.</field>
<field name="root_node">
133399</field>
<field name="parent_node">
133399</field>
</data>
</node>
