There are 3 major categories of design patterns
- Creational Pattern - designed to solve problems related to the creational process of objects and classes.
- Structural pattern - designed to solve problems related to the composition of an object or class.
- Behavioral pattern - designed to solve problems related to the behaviour and interaction between objects or classes.
1. Abstract Factory - provides a method for creating objects or classes that are related or dependent, without specifying the concrete class.
Example -