Padhi,
I try to look at Design Patterns the way Gamma has written.
i.e as "recorded Experiences".
I love the
word "Design dejavu", it means u feel that u have solved a problem before bur can't remember how.
now similarly, millions of people have written thousands of good code which solve simillar problems, now imagine if they write down there experience in form of a Design Pattern and u can use them without living what they lived. u can also create your own experience in form of a new Design Pattern. so in a way u r living a life of multiple powerfull experiences in a small time.
If u allow me I can say, Life is all about learning, managing and creating experiences. and that small/big bundle of experience is Design Patterns in Software Language.
UML comes when u want to create a s/w blue print of the Design Pattern.
sorry if i have been carried away and bored u guys