A Design Pattern is not providing you with a full solution to the problem that can be directly converted into source code or byte code. It provides you guidelines how to solve the problem that can be used in many different situations. It's like a template or description.
There are four big categories:
- Creational patterns: are design patterns that deal with object creation mechanisms, trying to create objects in a manner suitable to the situation.
- Structural patterns: makes the design of the application simpler, identifying a simple way to realise relationships between entities.
- Behavioural patterns: identifies common communication patterns between objects.
- Concurrency patterns: design patterns that deal with the multi-threaded programming paradigms.
Here is a list of simple design pattern tutorials with examples.
- How to create Singleton Design Pattern in Java
- How to create Generic Object Pool in Java
- How to create Builder design pattern in Java
- How to create Factory Pattern in Java
- How to create Abstract Factory Pattern in Java