Introduction
In our daily application/product design and programming, we encounter many problems that have occurred, and will occur again. The question we ask ourselves is how we are going to solve those problems. Design Patterns can help by trying to identify common solutions to recurring problems. Hence, it is absolutely necessary for each of us to have in-depth knowledge on each and every 'design pattern' to tackle most of the design problems we encounter during our software development.
Bibliography
[GoF 94] - Gamma, Erich and Helm, Richard and Johnson, Ralph and Vlissides, John. Design Patterns, Elements of Reusable Object-Oriented Software", Addison Wesley, 1994
How to apply the design pattern by Anoop Madhusudanan
http://www.codeproject.com/gen/design/applyingpatterns.asp