Design patterns are solutions to commonly occurring problems in software development. When you follow a particular pattern, there are some forces which are guiding you to use design patterns. There are enormous number of design patterns catering to every single area of application development like Creational, UI, Security, Concurrency etc. Here we shall discuss most commonly used design patterns.

design_patterns

Introduction

An Introduction to design patterns
How design patterns work in Java. Various design pattern categorize and the need for having design patterns. Writing custom design patterns

Creational Patterns

Factory Method Design Pattern
Create instances of classes using factory which eases the creation of instances of complex classes in Java application.Follow sample code.

Singleton Design Pattern
Tutorial on how singleton design pattern works in Java and various ways in which singleton design pattern can be written in a Java application.

Structural Patterns

Decorator Design Pattern
Decoration is a good mechanism by which the behavior of classes can be enhanced by adding extra feature to it. For example adding buffering to I/O classes.

Flyweight Design Pattern
Flyweight is a special design pattern due to the fact that it improves performance of constrained objects like String in case of JDK.

Behavioral Patterns

Enterprise Application Patterns

UI Patterns

Books

Top 10 Design Patterns Books
Read these suggested books on design patterns.