The book by GoF on design patterns spoke about 23 design patterns and classified them under three main categories:
Creational patterns
Structural patterns
Behavioral patterns
The classification of patterns is done based primarily on how the objects get created, how classes and objects are structured in a software application, and also covers the way objects interact among themselves. Let's talk about each of the categories in detail in this section.
The following are the properties of Creational patterns:
They work on the basis of how objects can be created
They isolate the details of object creation
Code is independent of the type of object to be created
An example of a creational pattern is the Singleton pattern.
The following are the properties of Structural patterns:
They design the structure of objects and classes so that they can compose to achieve larger results
The focus is on simplifying the structure and identifying the relationship between classes and objects
They focus on class inheritance and composition
An example of a behavior pattern is the Adapter pattern.