What is a Design Pattern?
Design patterns are typical tried and tested solutions to common problems.
Factory method
The Factory Method is a creational design pattern that provides an interface for creating objects in a superclass, but allow subclasses to alter the type of object that will be created
Design Patterns Classification