25 October 2010

A Thought on Design Pattern

Few years back, i was introduced to "Design Patterns" at work. It was series of presentations from each one of us. I really feel thankful for the person who inculcated the importance of giving presentation in me (a separate post should go for that). After covering reasonable number of presentations on design patterns, there was a recap session. We were just revising all the presentations. Two of us felt that all patterns appeared the same and we shared a comment - "everything is same". There was a intense debate over that.

Even today, i feel that all design patterns are same. Yes, all design patterns abstract the problems and give us a viewfinder to view things in a simplistic way. Rather than (or in addition) the usual definition of - "proven and time tested solutions to common problems", the definition would be have been apt or more beautiful we append these words to the definition - "a binocular that helps us to see things in the ways that should have been seen". Each pattern enable us to think in a simple way. Each pattern takes one simple thing and does it well (Unix philosophy).

So, the design pattern is - "proven and time tested solution for common recurring problems that helps us to see things in simple way".