views:

101

answers:

4

Hi,

Is there any list of Design Patterns showing which are the most used ones; let's say sorted by frequency of their usage.

I presume if there is such a list available, maybe it can be a kind of guide to know where to start to learn and practice design patterns.

Thanks.

+1  A: 

I am also interested in this and the way I tackled it was by looking at the frequency of SO tags. For example I found that 'mediator' tag only had 8 questions whereas 'strategy' had 45 and 'singleton' 293. OK it's crude but it's probably unbiased!

peter.murray.rust
Interesting approach. But really biased. As the tags in reality only show you with which design patterns people had problems == question on SO
jitter
Of course it's biased. But there are many n eutral questions like "what do I use X for?" "when should I use Y rather than Z" and do on.
peter.murray.rust
A: 

Singleton has serious market share :P The amount of real world usage has little to do with the merit of a pattern (or how many times it messes stuff up).

Ruben Bartelink
+1  A: 

Any such list would be deceiving you.

In a typical program you would use many different design patterns, even if you knew nothing about design patterns and had never learned how to use them. The fact is that design patterns describe common ways of working, common ways of structuring code. Because of this, you would have to spend many months analysing code, cataloguing the patterns, in order to create such a list.

I don't think anyone has done this yet.

The best thing to do is to just work your way through some design patterns tutorials.

If a design pattern seems useful, pay attention, if it doesn't then skim over it. Once you have some basic understanding, dive into a book like this one.

Michael Dillon
+2  A: 

There is a list @ http://dofactory.com/Patterns/Patterns.aspx. It's not sorted by frequency but rather type (Structural, Creational etc...). However, each pattern does have a frequency of use value ranging between 1 and 5 so you could sort the list yourself.

They're a pretty good resource with some concrete code examples and UML for the patterns. I suggest you give them a try.

HTH

Stimul8d