...
From a software development perspective there are 23 design patterns which can be classified in three categories: Creational, Structural and Behavioral patterns.
Creational Patterns
These The design patterns within this category will provide a way method to create objects while hiding the creation logic, rather than instantiating objects directly using new operator. This gives The utilization of these patterns will allow program more flexibility in deciding determining which objects need to should be created for a given use case.
Structural Patterns
The design patterns within this category concern class and object composition. The principle of inheritance is used to comprise and compose interfaces and define ways to construct objects to obtain new functionalities.
Behavioral Patterns
The design patterns within this category are specifically concerned with object-level communication.