I just fall on an article on design patterns. They said that if you want to become a good programmer, you must follow design patterns. But till now I have never follow these patterns. I don't even know how to use design patterns, they said that there are 23 in total but how to use them and where to use design pattern? Please take the case of a chat application, for me to understand it well.
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.