Factory Pattern Defines an interface to creating objects but lets the subclasses decide which object to create. UML diagram: