This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
I want to start learning java design patterns. Can any one help me on how to start for the same. Because, I know some design patterns which is used in my current project. But I want to learn on how to design an application when requirements are being given.
One of the most important aspects about object-oriented design patterns is that they are independent from any specific programming language or implementation. Object-oriented design patterns can be implemented with any object-oriented programming language. To refer to the patterns as "Java Design Patterns" is not accurate simply because they could be implemented with Java. The same patterns could be implemented with C++ as well.
You say you want to learn to design an application, and to learn design patterns. Note that these are 2 different things. If you know a lot of design patterns, that is not enought to design an application. Your application should not consist of a lot of design patterns put together. Don't get 'pattern happy'. You design an application, and when you encounter a problem for which someone has documented a reusable solution (a design pattern), you apply that pattern. The real trick is learning to recognize these recurring problems.
You should probably read some books on this stuff, as there are lots of them around. The classic text is "Design Patterns" by Gamma, Helm, Johnson and Vlissides (the "gang of four"), which has lots of patterns including many you may never need. For a quick start that will focus on the more commonly used patterns, try the excellent "Head First Design Patterns" by Freeman and Freeman. Craig Larman's book "Applying UML and Patterns" is good too, although it covers UML and OO design in general, not just patterns.
However, be careful about how you use patterns. I've worked on a few projects where people have basically used every pattern they could find in all the Java JEE sample applications, regardless of whether the project actually needed them.