Creational design patterns provide various object creation mechanisms, which increase flexibility and reuse of existing code.
- Factory Method
- Singleton
Structural patterns deal with class and object composition. For example, the concept of inheritance allows us to compose interfaces and objects so that they can obtain new functionality. Structural patterns provide the best methods and practices to organize classes and objects.
Behavioral patterns help define the communication between objects. They help to improve or streamline the communication between disparate objects in a system.
- Observer