Based on the official Design Pattern Book, "Design Patterns: Elements of Reusable Object-Oriented Software", there are 23 design patterns. These patterns can be grouped into three categories:
- Creational,
- Structural and
- Behavioral patterns.
- In addition, we will discuss another category of design patterns: J2EE Design patterns.