Design patterns offer solutions to typical difficulties encountered in software design. Design patterns refer to reusable designs and object interactions.These can be divided into four different pattern groups based on the nature of the design problem they attempt to tackle.
Design Patterns offer the following significant advantages in software development.
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides wrote a book (Design Patterns: Elements of Reusable Object-Oriented Software) in 1994 to describe the concept of a design pattern in software development. These four authors are collectively known as the Gang of Four (GOF).
The Gang of Four Design Patterns is a collection of solutions to common software design and development challenges. The Gang of Four programmers defined the 23 design patterns. These 23 patterns are classified into three categories based on the type of design challenge they attempt to solve.
GoF Design Patterns are classified into three categories: