A pattern is a proven (and recurring) solution to a problem in a context. Each pattern describes a problem which occurs over and over again in our environment, and describes its solution to this problem in such a way that we can use this solution a lots of times. In simple words, there are a lot of common problems which a lot of developers have faced over time. These common problems ideally should have a common solution too. It is this solution when documented and used over and over becomes a design pattern.
For more information, please visit the following link:'http://www.roseindia.net/javatutorials/J2EE_singleton_pattern.shtmlhttp://www.roseindia.net/javatutorials/headfirsdesignpatterns.shtml