Defines an interface for creating an object, but let subclasses decide which class to instantiate.

The Factory Method is a simple way of making a design more customizable. It automates object creation and allows increased modularization which makes the application more extensible.

More information about this Design Pattern can be obtained from Design Patterns by GoF (Gang of Four). The Factory Method is closely related to the Abstract Factory Pattern, which has a stronger focus on class Families.