Factory Design Pattern
Software design pattern used to make creation of data, classes, etc… easier from a single source.
General Use Cases
- Using this pattern allows for other design patterns that require dynamic creation of classes at runtime without knowing exactly what concrete class should be used, through the use of interfaces