+ The Oktave Forum » Technical » Engineering » Software Engineering
|-+ Design patterns are from hell!
Username:
Password:

Pages: [1]
Topic Tools  
Read August 01, 2008, 02:38:26 pm #0
sids

Design patterns are from hell!

I'm not saying that. I don't know enough about design patterns to be comfortable proclaiming so. That is the title of a very interesting article which does.

Quote
The “Design Patterns” book is one of the worst programming books ever. Yes, really. I’m 100% dead serious when I say that I think it has set (and will continue to set) the progress of software development back by decades. Why?! Let me offer up a parable; I will call it “The Plank.”

The article is pretty darn convincing. You can read it at http://realtimecollisiondetection.net/blog/?p=44

What's your experience with design patterns, if you have any? Personally, design patterns don't really fit into my style software engineering. It could be because of my choice of languages (the likes of Perl and Ruby). Or it could be due to the way I approach the problem.


http://www.grok.in/
"Ignorance killed the cat, curiosity was framed."
Offline  
Read August 01, 2008, 03:04:24 pm #1
sri

Re: Design patterns are from hell!

For someone who likes to think about the philosophy behind a problem before solving it, design patterns haven't made any sense at all right from the beginning. The way I have always seen design patterns are as thumb rules for craftsmen and not something about which you write a research thesis.

If you are writing a thesis about the way human mind thinks in patterns and the role patterns play in reducing our cognitive load, etc. that is a different thing. But, to create a catalog of recurring patterns, that are explained using English (!) without really explaining an underlying philosophical concept, hadn't really appealed to me (as a research dissertation) at any time.

But to be fair, I do think that thinking in patterns (not design patterns) reduces the first step in problem solving -- which is to understand the broad direction in which we should look. But that is just the first step. After this, we should start really understanding the problem.

As a student I had proposed on the Object Technology Users Group (OTUG) list that what we really require are Analysis Patterns and not Design Patterns. Analysis patterns are recurring patterns of the problem space. For instance, for some problem in multi-agent systems, we can say that this is a case of the game theoretic stag-hunt problem. The game theoretic prototype is the analysis pattern and it gives us a broad direction in which to start thinking to model the problem.
Offline  
Pages: [1]
Jump to: