A design pattern is a well-described solution to a recurring software problem.
Java design patterns are classified into three categories:
- Creational => Concerts over the object creation
- Structural => Concerns over object structure
- Behavioural => Concers over how objects communicate
- Singleton Pattern
- Factory Pattern
- Abstract Factory Pattern
- Builder Pattern
- Prototype Pattern
- Chain of Responsibility
Further Readings:-
http://www.peru-software.com/aula/pluginfile.php/799/mod_resource/content/1/Java_Design_Pattern_eBook.pdf https://www.ibm.com/developerworks/java/library/j-dcl/index.html http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html