Hello design patterns are indeed a good thing to know for designing apps and programming. But able to use the patterns effectively takes lots of practice. Sometimes you are using design patterns that you didn't even know about.
There are in fact 23 GoF (Gang of Four) design patterns and another set called
J2EE core patterns from Sun. And a whole much more less common ones. I recommend the following books on design patterns:
* Gamma, Helm, Johnson, and Vlissides (1994). Design Patterns: Elements of Reusable Object-Oriented Software
* Grand (2002). Patterns in
Java, Volume 1: A Catalog of Resuable Design Patterns Illustrated with UML, 2nd Edition
* Kuchana (2004). Software Architecture Design Patterns in Java
free PDF version
* Alur, Crupi and Malks (2003). Core J2EE Patterns: Best Practices and Design Strategies, 2nd Edition
* Marinescu (2002). EJB Design Patterns: Advanced Patterns, Processes, and Idioms
The first one the GoF book. For a beginning
you should read the Grand book and the Kuchana book. I read both of these some time back and both covers the 23 GoF in java language. The actual GoF book is in C++.
If you are into J2EE then the other 2 books are good references.